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] 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 000000000..ac620c8e6 --- /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 000000000..f2c2d0d46 --- /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 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 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 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�&%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 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