Merge branch 'dev-fix-config' into dev-slither-format-tool-only-new

pull/238/head
Josselin 5 years ago
commit bc18014878
  1. 22
      README.md
  2. 70
      scripts/tests_generate_expected_json_4.sh
  3. 2
      scripts/travis_test_etherscan.sh
  4. 22
      slither/__main__.py
  5. 8
      slither/core/declarations/function.py
  6. 4
      slither/core/slither_core.py
  7. 6
      slither/core/source_mapping/source_mapping.py
  8. 126
      slither/detectors/abstract_detector.py
  9. 11
      slither/detectors/functions/external_function.py
  10. 37
      slither/detectors/source/rtlo.py
  11. 2
      slither/detectors/variables/possible_const_state_variables.py
  12. 3
      slither/slither.py
  13. 43
      slither/utils/command_line.py
  14. 10
      slither/visitors/slithir/expression_to_slithir.py
  15. 10
      tests/expected_json/arbitrary_send-0.5.1.arbitrary-send.json
  16. 10
      tests/expected_json/arbitrary_send.arbitrary-send.json
  17. 2
      tests/expected_json/backdoor.backdoor.json
  18. 2
      tests/expected_json/backdoor.suicidal.json
  19. 24
      tests/expected_json/const_state_variables.constable-states.json
  20. 2
      tests/expected_json/constant-0.5.1.constant-function.json
  21. 10
      tests/expected_json/constant.constant-function.json
  22. 10
      tests/expected_json/controlled_delegatecall.controlled-delegatecall.json
  23. 20
      tests/expected_json/deprecated_calls.deprecated-standards.json
  24. 8
      tests/expected_json/erc20_indexed.erc20-indexed.json
  25. 75
      tests/expected_json/external_function.external-function.json
  26. 3
      tests/expected_json/external_function.external-function.txt
  27. 60
      tests/expected_json/incorrect_equality.incorrect-equality.json
  28. 12
      tests/expected_json/incorrect_erc20_interface.erc20-interface.json
  29. 20
      tests/expected_json/incorrect_erc721_interface.erc721-interface.json
  30. 5
      tests/expected_json/inline_assembly_contract-0.5.1.assembly.json
  31. 5
      tests/expected_json/inline_assembly_contract.assembly.json
  32. 10
      tests/expected_json/inline_assembly_library-0.5.1.assembly.json
  33. 10
      tests/expected_json/inline_assembly_library.assembly.json
  34. 3
      tests/expected_json/locked_ether-0.5.1.locked-ether.json
  35. 3
      tests/expected_json/locked_ether.locked-ether.json
  36. 5
      tests/expected_json/low_level_calls.low-level-calls.json
  37. 3
      tests/expected_json/multiple_calls_in_loop.calls-loop.json
  38. 25
      tests/expected_json/naming_convention.naming-convention.json
  39. 2
      tests/expected_json/naming_convention.naming-convention.txt
  40. 1
      tests/expected_json/old_solc.sol.json.solc-version.json
  41. 2
      tests/expected_json/pragma.0.4.24.pragma.json
  42. 16
      tests/expected_json/reentrancy-0.5.1.reentrancy-eth.json
  43. 16
      tests/expected_json/reentrancy.reentrancy-eth.json
  44. 23
      tests/expected_json/right_to_left_override.rtlo.json
  45. 4
      tests/expected_json/right_to_left_override.rtlo.txt
  46. 4
      tests/expected_json/shadowing_abstract.shadowing-abstract.json
  47. 29
      tests/expected_json/shadowing_builtin_symbols.shadowing-builtin.json
  48. 29
      tests/expected_json/shadowing_local_variable.shadowing-local.json
  49. 4
      tests/expected_json/shadowing_state_variable.shadowing-state.json
  50. 2
      tests/expected_json/solc_version_incorrect.solc-version.json
  51. 2
      tests/expected_json/solc_version_incorrect_05.ast.json.solc-version.json
  52. 15
      tests/expected_json/timestamp.timestamp.json
  53. 18
      tests/expected_json/too_many_digits.too-many-digits.json
  54. 6
      tests/expected_json/tx_origin-0.5.1.tx-origin.json
  55. 6
      tests/expected_json/tx_origin.tx-origin.json
  56. 5
      tests/expected_json/unchecked_lowlevel-0.5.1.unchecked-lowlevel.json
  57. 5
      tests/expected_json/unchecked_lowlevel.unchecked-lowlevel.json
  58. 5
      tests/expected_json/unchecked_send-0.5.1.unchecked-send.json
  59. 16
      tests/expected_json/uninitialized-0.5.1.uninitialized-state.json
  60. 16
      tests/expected_json/uninitialized.uninitialized-state.json
  61. 5
      tests/expected_json/uninitialized_local_variable.uninitialized-local.json
  62. 5
      tests/expected_json/uninitialized_storage_pointer.uninitialized-storage.json
  63. 10
      tests/expected_json/unused_return.unused-return.json
  64. 12
      tests/expected_json/unused_state.unused-state.json
  65. 12
      tests/external_function.sol
  66. 7
      tests/naming_convention.sol

@ -5,7 +5,7 @@
[![Slack Status](https://empireslacking.herokuapp.com/badge.svg)](https://empireslacking.herokuapp.com) [![Slack Status](https://empireslacking.herokuapp.com/badge.svg)](https://empireslacking.herokuapp.com)
[![PyPI version](https://badge.fury.io/py/slither-analyzer.svg)](https://badge.fury.io/py/slither-analyzer) [![PyPI version](https://badge.fury.io/py/slither-analyzer.svg)](https://badge.fury.io/py/slither-analyzer)
Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comphrehension, and quickly prototype custom analyses. Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.
## Features ## Features
@ -65,16 +65,16 @@ Num | Detector | What it Detects | Impact | Confidence
24 | `reentrancy-benign` | [Benign reentrancy vulnerabilities](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2) | Low | Medium 24 | `reentrancy-benign` | [Benign reentrancy vulnerabilities](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2) | Low | Medium
25 | `timestamp` | [Dangerous usage of `block.timestamp`](https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp) | Low | Medium 25 | `timestamp` | [Dangerous usage of `block.timestamp`](https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp) | Low | Medium
26 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High 26 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High
27 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Informational | High 27 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High
28 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High 28 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High
29 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High 29 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High
30 | `external-function` | [Public function that could be declared as external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-as-external) | Informational | High 30 | `naming-convention` | [Conformance to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High
31 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High 31 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High
32 | `naming-convention` | [Conformance to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High 32 | `solc-version` | [Incorrect Solidity version (< 0.4.24 or complex pragma)](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High
33 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High 33 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variables) | Informational | High
34 | `solc-version` | [Incorrect Solidity version (< 0.4.24 or complex pragma)](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-version-of-solidity) | Informational | High 34 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium
35 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variables) | Informational | High 35 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High
36 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium 36 | `external-function` | [Public function that could be declared as external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-as-external) | Optimization | High
[Contact us](https://www.trailofbits.com/contact/) to get access to additional detectors. [Contact us](https://www.trailofbits.com/contact/) to get access to additional detectors.

@ -21,38 +21,38 @@ generate_expected_json(){
} }
generate_expected_json tests/deprecated_calls.sol "deprecated-standards" #generate_expected_json tests/deprecated_calls.sol "deprecated-standards"
generate_expected_json tests/erc20_indexed.sol "erc20-indexed" #generate_expected_json tests/erc20_indexed.sol "erc20-indexed"
generate_expected_json tests/incorrect_erc20_interface.sol "erc20-interface" #generate_expected_json tests/incorrect_erc20_interface.sol "erc20-interface"
generate_expected_json tests/incorrect_erc721_interface.sol "erc721-interface" #generate_expected_json tests/incorrect_erc721_interface.sol "erc721-interface"
generate_expected_json tests/uninitialized.sol "uninitialized-state" #generate_expected_json tests/uninitialized.sol "uninitialized-state"
generate_expected_json tests/backdoor.sol "backdoor" #generate_expected_json tests/backdoor.sol "backdoor"
generate_expected_json tests/backdoor.sol "suicidal" #generate_expected_json tests/backdoor.sol "suicidal"
generate_expected_json tests/pragma.0.4.24.sol "pragma" #generate_expected_json tests/pragma.0.4.24.sol "pragma"
generate_expected_json tests/old_solc.sol.json "solc-version" #generate_expected_json tests/old_solc.sol.json "solc-version"
generate_expected_json tests/reentrancy.sol "reentrancy-eth" #generate_expected_json tests/reentrancy.sol "reentrancy-eth"
generate_expected_json tests/uninitialized_storage_pointer.sol "uninitialized-storage" #generate_expected_json tests/uninitialized_storage_pointer.sol "uninitialized-storage"
generate_expected_json tests/tx_origin.sol "tx-origin" #generate_expected_json tests/tx_origin.sol "tx-origin"
generate_expected_json tests/unused_state.sol "unused-state" #generate_expected_json tests/unused_state.sol "unused-state"
generate_expected_json tests/locked_ether.sol "locked-ether" #generate_expected_json tests/locked_ether.sol "locked-ether"
generate_expected_json tests/arbitrary_send.sol "arbitrary-send" #generate_expected_json tests/arbitrary_send.sol "arbitrary-send"
generate_expected_json tests/inline_assembly_contract.sol "assembly" #generate_expected_json tests/inline_assembly_contract.sol "assembly"
generate_expected_json tests/inline_assembly_library.sol "assembly" #generate_expected_json tests/inline_assembly_library.sol "assembly"
generate_expected_json tests/low_level_calls.sol "low-level-calls" #generate_expected_json tests/low_level_calls.sol "low-level-calls"
generate_expected_json tests/const_state_variables.sol "constable-states" #generate_expected_json tests/const_state_variables.sol "constable-states"
generate_expected_json tests/external_function.sol "external-function" #generate_expected_json tests/external_function.sol "external-function"
generate_expected_json tests/external_function_2.sol "external-function" #generate_expected_json tests/external_function_2.sol "external-function"
generate_expected_json tests/naming_convention.sol "naming-convention" #generate_expected_json tests/naming_convention.sol "naming-convention"
generate_expected_json tests/uninitialized_local_variable.sol "uninitialized-local" #generate_expected_json tests/uninitialized_local_variable.sol "uninitialized-local"
generate_expected_json tests/controlled_delegatecall.sol "controlled-delegatecall" #generate_expected_json tests/controlled_delegatecall.sol "controlled-delegatecall"
generate_expected_json tests/constant.sol "constant-function" #generate_expected_json tests/constant.sol "constant-function"
generate_expected_json tests/unused_return.sol "unused-return" #generate_expected_json tests/unused_return.sol "unused-return"
generate_expected_json tests/shadowing_state_variable.sol "shadowing-state" #generate_expected_json tests/shadowing_state_variable.sol "shadowing-state"
generate_expected_json tests/shadowing_abstract.sol "shadowing-abstract" #generate_expected_json tests/shadowing_abstract.sol "shadowing-abstract"
generate_expected_json tests/timestamp.sol "timestamp" #generate_expected_json tests/timestamp.sol "timestamp"
generate_expected_json tests/multiple_calls_in_loop.sol "calls-loop" #generate_expected_json tests/multiple_calls_in_loop.sol "calls-loop"
generate_expected_json tests/shadowing_builtin_symbols.sol "shadowing-builtin" #generate_expected_json tests/shadowing_builtin_symbols.sol "shadowing-builtin"
generate_expected_json tests/shadowing_local_variable.sol "shadowing-local" #generate_expected_json tests/shadowing_local_variable.sol "shadowing-local"
generate_expected_json tests/solc_version_incorrect.sol "solc-version" #generate_expected_json tests/solc_version_incorrect.sol "solc-version"
generate_expected_json tests/right_to_left_override.sol "rtlo" #generate_expected_json tests/right_to_left_override.sol "rtlo"
generate_expected_json tests/unchecked_lowlevel.sol "unchecked-lowlevel" #generate_expected_json tests/unchecked_lowlevel.sol "unchecked-lowlevel"

@ -10,7 +10,7 @@ chmod +x solc-0.4.25
slither 0x7F37f78cBD74481E593F9C737776F7113d76B315 --solc "./solc-0.4.25" slither 0x7F37f78cBD74481E593F9C737776F7113d76B315 --solc "./solc-0.4.25"
if [ $? -ne 6 ] if [ $? -ne 5 ]
then then
echo "Etherscan test failed" echo "Etherscan test failed"
exit -1 exit -1

@ -84,11 +84,8 @@ def process_files(filenames, args, detector_classes, printer_classes):
all_contracts.append(contract_loaded['ast']) all_contracts.append(contract_loaded['ast'])
slither = Slither(all_contracts, slither = Slither(all_contracts,
solc=args.solc,
disable_solc_warnings=args.disable_solc_warnings,
solc_arguments=args.solc_args,
filter_paths=parse_filter_paths(args), filter_paths=parse_filter_paths(args),
triage_mode=args.triage_mode) **vars(args))
return _process(slither, detector_classes, printer_classes) return _process(slither, detector_classes, printer_classes)
@ -202,6 +199,10 @@ def choose_detectors(args, all_detector_classes):
detectors_to_run = sorted(detectors_to_run, key=lambda x: x.IMPACT) detectors_to_run = sorted(detectors_to_run, key=lambda x: x.IMPACT)
return detectors_to_run return detectors_to_run
if args.exclude_optimization:
detectors_to_run = [d for d in detectors_to_run if
d.IMPACT != DetectorClassification.OPTIMIZATION]
if args.exclude_informational: if args.exclude_informational:
detectors_to_run = [d for d in detectors_to_run if detectors_to_run = [d for d in detectors_to_run if
d.IMPACT != DetectorClassification.INFORMATIONAL] d.IMPACT != DetectorClassification.INFORMATIONAL]
@ -306,6 +307,16 @@ def parse_args(detector_classes, printer_classes):
dest='detectors_to_exclude', dest='detectors_to_exclude',
default=defaults_flag_in_config['detectors_to_exclude']) default=defaults_flag_in_config['detectors_to_exclude'])
group_detector.add_argument('--exclude-dependencies',
help='Exclude results that are only related to dependencies',
action='store_true',
default=defaults_flag_in_config['exclude_dependencies'])
group_detector.add_argument('--exclude-optimization',
help='Exclude optimization analyses',
action='store_true',
default=defaults_flag_in_config['exclude_optimization'])
group_detector.add_argument('--exclude-informational', group_detector.add_argument('--exclude-informational',
help='Exclude informational impact analyses', help='Exclude informational impact analyses',
action='store_true', action='store_true',
@ -410,7 +421,6 @@ def parse_args(detector_classes, printer_classes):
sys.exit(1) sys.exit(1)
args = parser.parse_args() args = parser.parse_args()
read_config_file(args) read_config_file(args)
return args return args
@ -484,6 +494,8 @@ def main_impl(all_detector_classes, all_printer_classes):
:param all_detector_classes: A list of all detectors that can be included/excluded. :param all_detector_classes: A list of all detectors that can be included/excluded.
:param all_printer_classes: A list of all printers that can be included. :param all_printer_classes: A list of all printers that can be included.
""" """
# Set logger of Slither to info, to catch warnings related to the arg parsing
logger.setLevel(logging.INFO)
args = parse_args(all_detector_classes, all_printer_classes) args = parse_args(all_detector_classes, all_printer_classes)
# Set colorization option # Set colorization option

@ -986,6 +986,14 @@ class Function(ChildContract, ChildInheritance, SourceMapping):
args_vars = self.all_solidity_variables_used_as_args() args_vars = self.all_solidity_variables_used_as_args()
return SolidityVariableComposed('msg.sender') in conditional_vars + args_vars return SolidityVariableComposed('msg.sender') in conditional_vars + args_vars
def is_fallback(self):
"""
Determine if the function is the fallback function for the contract
Returns
(bool)
"""
return self._name == "" and not self.is_constructor
# endregion # endregion
################################################################################### ###################################################################################
################################################################################### ###################################################################################

@ -181,10 +181,14 @@ class Slither(Context):
A result is invalid if: A result is invalid if:
- All its source paths belong to the source path filtered - All its source paths belong to the source path filtered
- Or a similar result was reported and saved during a previous run - Or a similar result was reported and saved during a previous run
- The --exclude-dependencies flag is set and results are only related to dependencies
''' '''
source_mapping_elements = [elem['source_mapping']['filename_absolute'] for elem in r['elements'] if 'source_mapping' in elem] source_mapping_elements = [elem['source_mapping']['filename_absolute'] for elem in r['elements'] if 'source_mapping' in elem]
if r['elements'] and all((any(path in src_mapping for path in self._paths_to_filter) for src_mapping in source_mapping_elements)): if r['elements'] and all((any(path in src_mapping for path in self._paths_to_filter) for src_mapping in source_mapping_elements)):
return False return False
if r['elements'] and self._exclude_dependencies:
return not all(element['source_mapping']['is_dependency'] for element in r['elements'])
return not r['description'] in [pr['description'] for pr in self._previous_results] return not r['description'] in [pr['description'] for pr in self._previous_results]
def load_previous_results(self): def load_previous_results(self):

@ -77,6 +77,8 @@ class SourceMapping(Context):
filename_relative = None filename_relative = None
filename_short = None filename_short = None
is_dependency = False
lines = [] lines = []
# If possible, convert the filename to its absolute/relative version # If possible, convert the filename to its absolute/relative version
@ -86,6 +88,8 @@ class SourceMapping(Context):
filename_relative = filenames.relative filename_relative = filenames.relative
filename_short = filenames.short filename_short = filenames.short
is_dependency = slither.crytic_compile.is_dependency(filename_absolute)
if filename_absolute in slither.source_code: if filename_absolute in slither.source_code:
filename = filename_absolute filename = filename_absolute
elif filename_relative in slither.source_code: elif filename_relative in slither.source_code:
@ -105,13 +109,13 @@ class SourceMapping(Context):
else: else:
(lines, starting_column, ending_column) = ([], None, None) (lines, starting_column, ending_column) = ([], None, None)
return {'start':s, return {'start':s,
'length':l, 'length':l,
'filename_used': filename_used, 'filename_used': filename_used,
'filename_relative': filename_relative, 'filename_relative': filename_relative,
'filename_absolute': filename_absolute, 'filename_absolute': filename_absolute,
'filename_short': filename_short, 'filename_short': filename_short,
'is_dependency': is_dependency,
'lines' : lines, 'lines' : lines,
'starting_column': starting_column, 'starting_column': starting_column,
'ending_column': ending_column 'ending_column': ending_column

@ -2,9 +2,10 @@ import abc
import re import re
from slither.utils.colors import green, yellow, red from slither.utils.colors import green, yellow, red
from slither.core.source_mapping.source_mapping import SourceMapping
from collections import OrderedDict from collections import OrderedDict
class IncorrectDetectorInitialization(Exception): class IncorrectDetectorInitialization(Exception):
pass pass
@ -14,22 +15,26 @@ class DetectorClassification:
MEDIUM = 1 MEDIUM = 1
LOW = 2 LOW = 2
INFORMATIONAL = 3 INFORMATIONAL = 3
OPTIMIZATION = 4
classification_colors = { classification_colors = {
DetectorClassification.INFORMATIONAL: green, DetectorClassification.INFORMATIONAL: green,
DetectorClassification.OPTIMIZATION: green,
DetectorClassification.LOW: green, DetectorClassification.LOW: green,
DetectorClassification.MEDIUM: yellow, DetectorClassification.MEDIUM: yellow,
DetectorClassification.HIGH: red, DetectorClassification.HIGH: red
} }
classification_txt = { classification_txt = {
DetectorClassification.INFORMATIONAL: 'Informational', DetectorClassification.INFORMATIONAL: 'Informational',
DetectorClassification.OPTIMIZATION: 'Optimization',
DetectorClassification.LOW: 'Low', DetectorClassification.LOW: 'Low',
DetectorClassification.MEDIUM: 'Medium', DetectorClassification.MEDIUM: 'Medium',
DetectorClassification.HIGH: 'High', DetectorClassification.HIGH: 'High',
} }
class AbstractDetector(metaclass=abc.ABCMeta): class AbstractDetector(metaclass=abc.ABCMeta):
ARGUMENT = '' # run the detector with slither.py --ARGUMENT ARGUMENT = '' # run the detector with slither.py --ARGUMENT
HELP = '' # help information HELP = '' # help information
@ -43,7 +48,6 @@ class AbstractDetector(metaclass=abc.ABCMeta):
WIKI_EXPLOIT_SCENARIO = '' WIKI_EXPLOIT_SCENARIO = ''
WIKI_RECOMMENDATION = '' WIKI_RECOMMENDATION = ''
def __init__(self, slither, logger): def __init__(self, slither, logger):
self.slither = slither self.slither = slither
self.contracts = slither.contracts self.contracts = slither.contracts
@ -65,7 +69,8 @@ class AbstractDetector(metaclass=abc.ABCMeta):
if not self.WIKI_DESCRIPTION: if not self.WIKI_DESCRIPTION:
raise IncorrectDetectorInitialization('WIKI_DESCRIPTION is not initialized {}'.format(self.__class__.__name__)) raise IncorrectDetectorInitialization('WIKI_DESCRIPTION is not initialized {}'.format(self.__class__.__name__))
if not self.WIKI_EXPLOIT_SCENARIO and self.IMPACT != DetectorClassification.INFORMATIONAL: if not self.WIKI_EXPLOIT_SCENARIO and self.IMPACT not in [DetectorClassification.INFORMATIONAL,
DetectorClassification.OPTIMIZATION]:
raise IncorrectDetectorInitialization('WIKI_EXPLOIT_SCENARIO is not initialized {}'.format(self.__class__.__name__)) raise IncorrectDetectorInitialization('WIKI_EXPLOIT_SCENARIO is not initialized {}'.format(self.__class__.__name__))
if not self.WIKI_RECOMMENDATION: if not self.WIKI_RECOMMENDATION:
@ -77,16 +82,17 @@ class AbstractDetector(metaclass=abc.ABCMeta):
if self.IMPACT not in [DetectorClassification.LOW, if self.IMPACT not in [DetectorClassification.LOW,
DetectorClassification.MEDIUM, DetectorClassification.MEDIUM,
DetectorClassification.HIGH, DetectorClassification.HIGH,
DetectorClassification.INFORMATIONAL]: DetectorClassification.INFORMATIONAL,
DetectorClassification.OPTIMIZATION]:
raise IncorrectDetectorInitialization('IMPACT is not initialized {}'.format(self.__class__.__name__)) raise IncorrectDetectorInitialization('IMPACT is not initialized {}'.format(self.__class__.__name__))
if self.CONFIDENCE not in [DetectorClassification.LOW, if self.CONFIDENCE not in [DetectorClassification.LOW,
DetectorClassification.MEDIUM, DetectorClassification.MEDIUM,
DetectorClassification.HIGH, DetectorClassification.HIGH,
DetectorClassification.INFORMATIONAL]: DetectorClassification.INFORMATIONAL,
DetectorClassification.OPTIMIZATION]:
raise IncorrectDetectorInitialization('CONFIDENCE is not initialized {}'.format(self.__class__.__name__)) raise IncorrectDetectorInitialization('CONFIDENCE is not initialized {}'.format(self.__class__.__name__))
def _log(self, info): def _log(self, info):
self.logger.info(self.color(info)) self.logger.info(self.color(info))
@ -129,7 +135,6 @@ class AbstractDetector(metaclass=abc.ABCMeta):
self.logger.error(yellow('Malformed input. Example of valid input: 0,1,2,3')) self.logger.error(yellow('Malformed input. Example of valid input: 0,1,2,3'))
return results return results
@property @property
def color(self): def color(self):
return classification_colors[self.IMPACT] return classification_colors[self.IMPACT]
@ -156,104 +161,94 @@ class AbstractDetector(metaclass=abc.ABCMeta):
element['additional_fields'] = additional_fields element['additional_fields'] = additional_fields
return element return element
@staticmethod def _create_parent_element(self, element):
def _create_parent_element(element):
from slither.core.children.child_contract import ChildContract from slither.core.children.child_contract import ChildContract
from slither.core.children.child_function import ChildFunction from slither.core.children.child_function import ChildFunction
from slither.core.children.child_inheritance import ChildInheritance from slither.core.children.child_inheritance import ChildInheritance
if isinstance(element, ChildInheritance): if isinstance(element, ChildInheritance):
if element.contract_declarer: if element.contract_declarer:
contract = {'elements': []} contract = {'elements': []}
AbstractDetector.add_contract_to_json(element.contract_declarer, contract) self.add_contract_to_json(element.contract_declarer, contract)
return contract['elements'][0] return contract['elements'][0]
elif isinstance(element, ChildContract): elif isinstance(element, ChildContract):
if element.contract: if element.contract:
contract = {'elements': []} contract = {'elements': []}
AbstractDetector.add_contract_to_json(element.contract, contract) self.add_contract_to_json(element.contract, contract)
return contract['elements'][0] return contract['elements'][0]
elif isinstance(element, ChildFunction): elif isinstance(element, ChildFunction):
if element.function: if element.function:
function = {'elements': []} function = {'elements': []}
AbstractDetector.add_function_to_json(element.function, function) self.add_function_to_json(element.function, function)
return function['elements'][0] return function['elements'][0]
return None return None
@staticmethod def add_variable_to_json(self, variable, d, additional_fields={}):
def add_variable_to_json(variable, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'parent': AbstractDetector._create_parent_element(variable) 'parent': self._create_parent_element(variable)
} }
element = AbstractDetector._create_base_element('variable', element = self._create_base_element('variable',
variable.name, variable.name,
variable.source_mapping, variable.source_mapping,
type_specific_fields, type_specific_fields,
additional_fields) additional_fields)
d['elements'].append(element) d['elements'].append(element)
@staticmethod def add_variables_to_json(self, variables, d):
def add_variables_to_json(variables, d):
for variable in sorted(variables, key=lambda x:x.name): for variable in sorted(variables, key=lambda x:x.name):
AbstractDetector.add_variable_to_json(variable, d) self.add_variable_to_json(variable, d)
@staticmethod def add_contract_to_json(self, contract, d, additional_fields={}):
def add_contract_to_json(contract, d, additional_fields={}): element = self._create_base_element('contract',
element = AbstractDetector._create_base_element('contract',
contract.name, contract.name,
contract.source_mapping, contract.source_mapping,
{}, {},
additional_fields) additional_fields)
d['elements'].append(element) d['elements'].append(element)
@staticmethod def add_function_to_json(self, function, d, additional_fields={}):
def add_function_to_json(function, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'parent': AbstractDetector._create_parent_element(function), 'parent': self._create_parent_element(function),
'signature': function.full_name 'signature': function.full_name
} }
element = AbstractDetector._create_base_element('function', element = self._create_base_element('function',
function.name, function.name,
function.source_mapping, function.source_mapping,
type_specific_fields, type_specific_fields,
additional_fields) additional_fields)
d['elements'].append(element) d['elements'].append(element)
def add_functions_to_json(self, functions, d, additional_fields={}):
@staticmethod
def add_functions_to_json(functions, d, additional_fields={}):
for function in sorted(functions, key=lambda x: x.name): for function in sorted(functions, key=lambda x: x.name):
AbstractDetector.add_function_to_json(function, d, additional_fields) self.add_function_to_json(function, d, additional_fields)
@staticmethod def add_enum_to_json(self, enum, d, additional_fields={}):
def add_enum_to_json(enum, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'parent': AbstractDetector._create_parent_element(enum) 'parent': self._create_parent_element(enum)
} }
element = AbstractDetector._create_base_element('enum', element = self._create_base_element('enum',
enum.name, enum.name,
enum.source_mapping, enum.source_mapping,
type_specific_fields, type_specific_fields,
additional_fields) additional_fields)
d['elements'].append(element) d['elements'].append(element)
@staticmethod def add_struct_to_json(self, struct, d, additional_fields={}):
def add_struct_to_json(struct, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'parent': AbstractDetector._create_parent_element(struct) 'parent': self._create_parent_element(struct)
} }
element = AbstractDetector._create_base_element('struct', element = self._create_base_element('struct',
struct.name, struct.name,
struct.source_mapping, struct.source_mapping,
type_specific_fields, type_specific_fields,
additional_fields) additional_fields)
d['elements'].append(element) d['elements'].append(element)
@staticmethod def add_event_to_json(self, event, d, additional_fields={}):
def add_event_to_json(event, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'parent': AbstractDetector._create_parent_element(event), 'parent': self._create_parent_element(event),
'signature': event.full_name 'signature': event.full_name
} }
element = AbstractDetector._create_base_element('event', element = self._create_base_element('event',
event.name, event.name,
event.source_mapping, event.source_mapping,
type_specific_fields, type_specific_fields,
@ -261,34 +256,57 @@ class AbstractDetector(metaclass=abc.ABCMeta):
d['elements'].append(element) d['elements'].append(element)
@staticmethod def add_node_to_json(self, node, d, additional_fields={}):
def add_node_to_json(node, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'parent': AbstractDetector._create_parent_element(node), 'parent': self._create_parent_element(node),
} }
node_name = str(node.expression) if node.expression else "" node_name = str(node.expression) if node.expression else ""
element = AbstractDetector._create_base_element('node', element = self._create_base_element('node',
node_name, node_name,
node.source_mapping, node.source_mapping,
type_specific_fields, type_specific_fields,
additional_fields) additional_fields)
d['elements'].append(element) d['elements'].append(element)
def add_nodes_to_json(self, nodes, d):
@staticmethod
def add_nodes_to_json(nodes, d):
for node in sorted(nodes, key=lambda x: x.node_id): for node in sorted(nodes, key=lambda x: x.node_id):
AbstractDetector.add_node_to_json(node, d) self.add_node_to_json(node, d)
@staticmethod def add_pragma_to_json(self, pragma, d, additional_fields={}):
def add_pragma_to_json(pragma, d, additional_fields={}):
type_specific_fields = { type_specific_fields = {
'directive': pragma.directive 'directive': pragma.directive
} }
element = AbstractDetector._create_base_element('pragma', element = self._create_base_element('pragma',
pragma.version, pragma.version,
pragma.source_mapping, pragma.source_mapping,
type_specific_fields, type_specific_fields,
additional_fields) additional_fields)
d['elements'].append(element)
def add_other_to_json(self, name, source_mapping, d, additional_fields={}):
# If this a tuple with (filename, start, end), convert it to a source mapping.
if isinstance(source_mapping, tuple):
# Parse the source id
(filename, start, end) = source_mapping
source_id = next((source_unit_id for (source_unit_id, source_unit_filename) in self.slither.source_units.items() if source_unit_filename == filename), -1)
# Convert to a source mapping string
source_mapping = f"{start}:{end}:{source_id}"
# If this is a source mapping string, parse it.
if isinstance(source_mapping, str):
source_mapping_str = source_mapping
source_mapping = SourceMapping()
source_mapping.set_offset(source_mapping_str, self.slither)
# If this is a source mapping object, get the underlying source mapping dictionary
if isinstance(source_mapping, SourceMapping):
source_mapping = source_mapping.source_mapping
# Create the underlying element and add it to our resulting json
element = self._create_base_element('other',
name,
source_mapping,
{},
additional_fields)
d['elements'].append(element) d['elements'].append(element)

@ -13,7 +13,7 @@ class ExternalFunction(AbstractDetector):
ARGUMENT = 'external-function' ARGUMENT = 'external-function'
HELP = 'Public function that could be declared as external' HELP = 'Public function that could be declared as external'
IMPACT = DetectorClassification.INFORMATIONAL IMPACT = DetectorClassification.OPTIMIZATION
CONFIDENCE = DetectorClassification.HIGH CONFIDENCE = DetectorClassification.HIGH
WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-as-external' WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-as-external'
@ -96,6 +96,10 @@ class ExternalFunction(AbstractDetector):
for function in derived_contract.functions for function in derived_contract.functions
if function.full_name == base_most_function.full_name] if function.full_name == base_most_function.full_name]
@staticmethod
def function_parameters_written(function):
return any(p in function.variables_written for p in function.parameters)
def _detect(self): def _detect(self):
results = [] results = []
@ -130,6 +134,11 @@ class ExternalFunction(AbstractDetector):
if function in completed_functions: if function in completed_functions:
continue continue
# If the function has parameters which are written-to in function body, we skip
# because parameters of external functions will be allocated in calldata region which is immutable
if self.function_parameters_written(function):
continue
# Get the base-most function to know our origin of this function. # Get the base-most function to know our origin of this function.
base_most_function = self.get_base_most_function(function) base_most_function = self.get_base_most_function(function)

@ -44,20 +44,39 @@ contract Token
''' '''
WIKI_RECOMMENDATION = 'Special control characters must not be allowed.' WIKI_RECOMMENDATION = 'Special control characters must not be allowed.'
RTLO_CHARACTER_ENCODED = "\u202e".encode('utf-8')
def _detect(self): def _detect(self):
results = [] results = []
pattern = re.compile(".*\u202e.*".encode('utf-8'))
pattern = re.compile(".*\u202e.*")
for filename, source in self.slither.source_code.items(): for filename, source in self.slither.source_code.items():
info = "{} contains a unicode right-to-left-override character:\n".format(filename) # Attempt to find all RTLO characters in this source file.
found = False original_source_encoded = source.encode('utf-8')
for match in pattern.finditer(source): start_index = 0
match_line = match.group(0)
info += "\t- {}\n".format(match_line) # Keep searching all file contents for the character.
found = True while True:
source_encoded = original_source_encoded[start_index:]
if found: result_index = source_encoded.find(self.RTLO_CHARACTER_ENCODED)
# If we couldn't find the character in the remainder of source, stop.
if result_index == -1:
break
else:
# We found another instance of the character, define our output
idx = start_index + result_index
info = f"{filename} contains a unicode right-to-left-override character at byte offset {idx}:\n"
# We have a patch, so pattern.find will return at least one result
info += f"\t- {pattern.findall(source_encoded)[0]}\n"
json = self.generate_json_result(info) json = self.generate_json_result(info)
self.add_other_to_json("rtlo-character",
(filename, idx, len(self.RTLO_CHARACTER_ENCODED)), json)
results.append(json) results.append(json)
# Advance the start index for the next iteration
start_index = result_index + 1
return results return results

@ -18,7 +18,7 @@ class ConstCandidateStateVars(AbstractDetector):
ARGUMENT = 'constable-states' ARGUMENT = 'constable-states'
HELP = 'State variables that could be declared constant' HELP = 'State variables that could be declared constant'
IMPACT = DetectorClassification.INFORMATIONAL IMPACT = DetectorClassification.OPTIMIZATION
CONFIDENCE = DetectorClassification.HIGH CONFIDENCE = DetectorClassification.HIGH
WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant' WIKI = 'https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant'

@ -33,6 +33,7 @@ class Slither(SlitherSolc):
ast_format (str): ast format (default '--ast-compact-json') ast_format (str): ast format (default '--ast-compact-json')
filter_paths (list(str)): list of path to filter (default []) filter_paths (list(str)): list of path to filter (default [])
triage_mode (bool): if true, switch to triage mode (default false) triage_mode (bool): if true, switch to triage mode (default false)
exclude_dependencies (bool): if true, exclude results that are only related to dependencies
truffle_ignore (bool): ignore truffle.js presence (default false) truffle_ignore (bool): ignore truffle.js presence (default false)
truffle_build_directory (str): build truffle directory (default 'build/contracts') truffle_build_directory (str): build truffle directory (default 'build/contracts')
@ -67,6 +68,8 @@ class Slither(SlitherSolc):
for p in filter_paths: for p in filter_paths:
self.add_path_to_filter(p) self.add_path_to_filter(p)
self._exclude_dependencies = kwargs.get('exclude_dependencies', False)
triage_mode = kwargs.get('triage_mode', False) triage_mode = kwargs.get('triage_mode', False)
self._triage_mode = triage_mode self._triage_mode = triage_mode

@ -1,10 +1,51 @@
import os
import logging
import json import json
import os import os
import logging import logging
from collections import defaultdict from collections import defaultdict
from prettytable import PrettyTable from prettytable import PrettyTable
from .colors import yellow, red from crytic_compile.cryticparser.defaults import defaults_flag_in_config as defaults_flag_in_config_crytic_compile
from slither.detectors.abstract_detector import classification_txt from slither.detectors.abstract_detector import classification_txt
from .colors import yellow, red
logger = logging.getLogger("Slither")
# Those are the flags shared by the command line and the config file
defaults_flag_in_config = {
'detectors_to_run': 'all',
'printers_to_run': None,
'detectors_to_exclude': None,
'exclude_dependencies': False,
'exclude_informational': False,
'exclude_optimization': False,
'exclude_low': False,
'exclude_medium': False,
'exclude_high': False,
'json': None,
'disable_color': False,
'filter_paths': None,
# debug command
'legacy_ast': False,
'ignore_return_value': False,
**defaults_flag_in_config_crytic_compile
}
def read_config_file(args):
if os.path.isfile(args.config_file):
try:
with open(args.config_file) as f:
config = json.load(f)
for key, elem in config.items():
if key not in defaults_flag_in_config:
logger.info(yellow('{} has an unknown key: {} : {}'.format(args.config_file, key, elem)))
continue
if getattr(args, key) == defaults_flag_in_config[key]:
setattr(args, key, elem)
except json.decoder.JSONDecodeError as e:
logger.error(red('Impossible to read {}, please check the file {}'.format(args.config_file, e)))
logger = logging.getLogger("Slither") logger = logging.getLogger("Slither")

@ -241,12 +241,12 @@ class ExpressionToSlithIR(ExpressionVisitor):
self._result.append(operation) self._result.append(operation)
set_val(expression, value) set_val(expression, value)
elif expression.type in [UnaryOperationType.PLUSPLUS_PRE]: elif expression.type in [UnaryOperationType.PLUSPLUS_PRE]:
operation = Binary(value, value, Constant("1"), BinaryType.ADDITION) operation = Binary(value, value, Constant("1", value.type), BinaryType.ADDITION)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
set_val(expression, value) set_val(expression, value)
elif expression.type in [UnaryOperationType.MINUSMINUS_PRE]: elif expression.type in [UnaryOperationType.MINUSMINUS_PRE]:
operation = Binary(value, value, Constant("1"), BinaryType.SUBTRACTION) operation = Binary(value, value, Constant("1", value.type), BinaryType.SUBTRACTION)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
set_val(expression, value) set_val(expression, value)
@ -255,7 +255,7 @@ class ExpressionToSlithIR(ExpressionVisitor):
operation = Assignment(lvalue, value, value.type) operation = Assignment(lvalue, value, value.type)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
operation = Binary(value, value, Constant("1"), BinaryType.ADDITION) operation = Binary(value, value, Constant("1", value.type), BinaryType.ADDITION)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
set_val(expression, lvalue) set_val(expression, lvalue)
@ -264,7 +264,7 @@ class ExpressionToSlithIR(ExpressionVisitor):
operation = Assignment(lvalue, value, value.type) operation = Assignment(lvalue, value, value.type)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
operation = Binary(value, value, Constant("1"), BinaryType.SUBTRACTION) operation = Binary(value, value, Constant("1", value.type), BinaryType.SUBTRACTION)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
set_val(expression, lvalue) set_val(expression, lvalue)
@ -272,7 +272,7 @@ class ExpressionToSlithIR(ExpressionVisitor):
set_val(expression, value) set_val(expression, value)
elif expression.type in [UnaryOperationType.MINUS_PRE]: elif expression.type in [UnaryOperationType.MINUS_PRE]:
lvalue = TemporaryVariable(self._node) lvalue = TemporaryVariable(self._node)
operation = Binary(lvalue, Constant("0"), value, BinaryType.SUBTRACTION) operation = Binary(lvalue, Constant("0", value.type), value, BinaryType.SUBTRACTION)
operation.set_expression(expression) operation.set_expression(expression)
self._result.append(operation) self._result.append(operation)
set_val(expression, lvalue) set_val(expression, lvalue)

@ -19,6 +19,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -38,6 +39,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -98,6 +100,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
12 12
], ],
@ -115,6 +118,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -134,6 +138,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -204,6 +209,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
19, 19,
20, 20,
@ -223,6 +229,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -283,6 +290,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
20 20
], ],
@ -300,6 +308,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
19, 19,
20, 20,
@ -319,6 +328,7 @@
"filename_relative": "tests/arbitrary_send-0.5.1.sol", "filename_relative": "tests/arbitrary_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send-0.5.1.sol",
"filename_short": "tests/arbitrary_send-0.5.1.sol", "filename_short": "tests/arbitrary_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -38,6 +39,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -98,6 +100,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
12 12
], ],
@ -115,6 +118,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -134,6 +138,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -204,6 +209,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
19, 19,
20, 20,
@ -223,6 +229,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -283,6 +290,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
20 20
], ],
@ -300,6 +308,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
19, 19,
20, 20,
@ -319,6 +328,7 @@
"filename_relative": "tests/arbitrary_send.sol", "filename_relative": "tests/arbitrary_send.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/arbitrary_send.sol",
"filename_short": "tests/arbitrary_send.sol", "filename_short": "tests/arbitrary_send.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/backdoor.sol", "filename_relative": "tests/backdoor.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol",
"filename_short": "tests/backdoor.sol", "filename_short": "tests/backdoor.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -38,6 +39,7 @@
"filename_relative": "tests/backdoor.sol", "filename_relative": "tests/backdoor.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol",
"filename_short": "tests/backdoor.sol", "filename_short": "tests/backdoor.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,

@ -19,6 +19,7 @@
"filename_relative": "tests/backdoor.sol", "filename_relative": "tests/backdoor.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol",
"filename_short": "tests/backdoor.sol", "filename_short": "tests/backdoor.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -38,6 +39,7 @@
"filename_relative": "tests/backdoor.sol", "filename_relative": "tests/backdoor.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/backdoor.sol",
"filename_short": "tests/backdoor.sol", "filename_short": "tests/backdoor.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,

@ -5,7 +5,7 @@
"detectors": [ "detectors": [
{ {
"check": "constable-states", "check": "constable-states",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "A.myFriendsAddress should be constant (tests/const_state_variables.sol#7)\n", "description": "A.myFriendsAddress should be constant (tests/const_state_variables.sol#7)\n",
"elements": [ "elements": [
@ -19,6 +19,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -66,7 +68,7 @@
}, },
{ {
"check": "constable-states", "check": "constable-states",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "A.test should be constant (tests/const_state_variables.sol#10)\n", "description": "A.test should be constant (tests/const_state_variables.sol#10)\n",
"elements": [ "elements": [
@ -80,6 +82,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -97,6 +100,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -127,7 +131,7 @@
}, },
{ {
"check": "constable-states", "check": "constable-states",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "A.text2 should be constant (tests/const_state_variables.sol#14)\n", "description": "A.text2 should be constant (tests/const_state_variables.sol#14)\n",
"elements": [ "elements": [
@ -141,6 +145,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
14 14
], ],
@ -158,6 +163,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -188,7 +194,7 @@
}, },
{ {
"check": "constable-states", "check": "constable-states",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "B.mySistersAddress should be constant (tests/const_state_variables.sol#26)\n", "description": "B.mySistersAddress should be constant (tests/const_state_variables.sol#26)\n",
"elements": [ "elements": [
@ -202,6 +208,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
26 26
], ],
@ -219,6 +226,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
24, 24,
25, 25,
@ -245,7 +253,7 @@
}, },
{ {
"check": "constable-states", "check": "constable-states",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "MyConc.should_be_constant should be constant (tests/const_state_variables.sol#42)\n", "description": "MyConc.should_be_constant should be constant (tests/const_state_variables.sol#42)\n",
"elements": [ "elements": [
@ -259,6 +267,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
42 42
], ],
@ -276,6 +285,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
39, 39,
40, 40,
@ -302,7 +312,7 @@
}, },
{ {
"check": "constable-states", "check": "constable-states",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "MyConc.should_be_constant_2 should be constant (tests/const_state_variables.sol#43)\n", "description": "MyConc.should_be_constant_2 should be constant (tests/const_state_variables.sol#43)\n",
"elements": [ "elements": [
@ -316,6 +326,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
43 43
], ],
@ -333,6 +344,7 @@
"filename_relative": "tests/const_state_variables.sol", "filename_relative": "tests/const_state_variables.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/const_state_variables.sol",
"filename_short": "tests/const_state_variables.sol", "filename_short": "tests/const_state_variables.sol",
"is_dependency": false,
"lines": [ "lines": [
39, 39,
40, 40,

@ -19,6 +19,7 @@
"filename_relative": "tests/constant-0.5.1.sol", "filename_relative": "tests/constant-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol",
"filename_short": "tests/constant-0.5.1.sol", "filename_short": "tests/constant-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
15, 15,
16, 16,
@ -38,6 +39,7 @@
"filename_relative": "tests/constant-0.5.1.sol", "filename_relative": "tests/constant-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant-0.5.1.sol",
"filename_short": "tests/constant-0.5.1.sol", "filename_short": "tests/constant-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -38,6 +39,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -82,6 +84,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
3 3
], ],
@ -99,6 +102,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -153,6 +157,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -172,6 +177,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -216,6 +222,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
3 3
], ],
@ -233,6 +240,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -287,6 +295,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
22, 22,
23, 23,
@ -306,6 +315,7 @@
"filename_relative": "tests/constant.sol", "filename_relative": "tests/constant.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/constant.sol",
"filename_short": "tests/constant.sol", "filename_short": "tests/constant.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,
@ -56,6 +58,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -102,6 +105,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,
@ -122,6 +126,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -174,6 +179,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
19 19
], ],
@ -191,6 +197,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -210,6 +217,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -256,6 +264,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -275,6 +284,7 @@
"filename_relative": "tests/controlled_delegatecall.sol", "filename_relative": "tests/controlled_delegatecall.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/controlled_delegatecall.sol",
"filename_short": "tests/controlled_delegatecall.sol", "filename_short": "tests/controlled_delegatecall.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
2 2
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -89,6 +91,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -106,6 +109,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -129,6 +133,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -185,6 +190,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
9 9
], ],
@ -202,6 +208,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -225,6 +232,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -281,6 +289,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
16 16
], ],
@ -298,6 +307,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -327,6 +337,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -383,6 +394,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
19 19
], ],
@ -400,6 +412,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -429,6 +442,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -485,6 +499,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
22 22
], ],
@ -502,6 +517,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -531,6 +547,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -587,6 +604,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -604,6 +622,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -633,6 +652,7 @@
"filename_relative": "tests/deprecated_calls.sol", "filename_relative": "tests/deprecated_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/deprecated_calls.sol",
"filename_short": "tests/deprecated_calls.sol", "filename_short": "tests/deprecated_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
19 19
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
12, 12,
13, 13,
@ -76,6 +78,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
19 19
], ],
@ -93,6 +96,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
12, 12,
13, 13,
@ -133,6 +137,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
20 20
], ],
@ -150,6 +155,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
12, 12,
13, 13,
@ -190,6 +196,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
20 20
], ],
@ -207,6 +214,7 @@
"filename_relative": "tests/erc20_indexed.sol", "filename_relative": "tests/erc20_indexed.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/erc20_indexed.sol",
"filename_short": "tests/erc20_indexed.sol", "filename_short": "tests/erc20_indexed.sol",
"is_dependency": false,
"lines": [ "lines": [
12, 12,
13, 13,

@ -5,7 +5,7 @@
"detectors": [ "detectors": [
{ {
"check": "external-function", "check": "external-function",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "ContractWithFunctionNotCalled.funcNotCalled3() (tests/external_function.sol#13-15) should be declared external\n", "description": "ContractWithFunctionNotCalled.funcNotCalled3() (tests/external_function.sol#13-15) should be declared external\n",
"elements": [ "elements": [
@ -19,6 +19,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -38,6 +39,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -70,7 +72,7 @@
}, },
{ {
"check": "external-function", "check": "external-function",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "ContractWithFunctionNotCalled.funcNotCalled2() (tests/external_function.sol#17-19) should be declared external\n", "description": "ContractWithFunctionNotCalled.funcNotCalled2() (tests/external_function.sol#17-19) should be declared external\n",
"elements": [ "elements": [
@ -84,6 +86,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
17, 17,
18, 18,
@ -103,6 +106,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -135,7 +139,7 @@
}, },
{ {
"check": "external-function", "check": "external-function",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "ContractWithFunctionNotCalled.funcNotCalled() (tests/external_function.sol#21-23) should be declared external\n", "description": "ContractWithFunctionNotCalled.funcNotCalled() (tests/external_function.sol#21-23) should be declared external\n",
"elements": [ "elements": [
@ -149,6 +153,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
21, 21,
22, 22,
@ -168,6 +173,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -200,7 +206,7 @@
}, },
{ {
"check": "external-function", "check": "external-function",
"impact": "Informational", "impact": "Optimization",
"confidence": "High", "confidence": "High",
"description": "ContractWithFunctionNotCalled2.funcNotCalled() (tests/external_function.sol#32-39) should be declared external\n", "description": "ContractWithFunctionNotCalled2.funcNotCalled() (tests/external_function.sol#32-39) should be declared external\n",
"elements": [ "elements": [
@ -214,6 +220,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
32, 32,
33, 33,
@ -238,6 +245,7 @@
"filename_relative": "tests/external_function.sol", "filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol", "filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [ "lines": [
31, 31,
32, 32,
@ -258,6 +266,65 @@
} }
} }
] ]
},
{
"check": "external-function",
"impact": "Optimization",
"confidence": "High",
"description": "FunctionParameterWrite.parameter_read_ok_for_external(uint256) (tests/external_function.sol#74-76) should be declared external\n",
"elements": [
{
"type": "function",
"name": "parameter_read_ok_for_external",
"source_mapping": {
"start": 1420,
"length": 81,
"filename_used": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [
74,
75,
76
],
"starting_column": 3,
"ending_column": 4
},
"type_specific_fields": {
"parent": {
"type": "contract",
"name": "FunctionParameterWrite",
"source_mapping": {
"start": 1381,
"length": 234,
"filename_used": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_relative": "tests/external_function.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/external_function.sol",
"filename_short": "tests/external_function.sol",
"is_dependency": false,
"lines": [
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82
],
"starting_column": 1,
"ending_column": 2
}
},
"signature": "parameter_read_ok_for_external(uint256)"
}
}
]
} }
] ]
} }

@ -3,5 +3,6 @@ ContractWithFunctionNotCalled.funcNotCalled3() (tests/external_function.sol#13-1
ContractWithFunctionNotCalled.funcNotCalled2() (tests/external_function.sol#17-19) should be declared external ContractWithFunctionNotCalled.funcNotCalled2() (tests/external_function.sol#17-19) should be declared external
ContractWithFunctionNotCalled.funcNotCalled() (tests/external_function.sol#21-23) should be declared external ContractWithFunctionNotCalled.funcNotCalled() (tests/external_function.sol#21-23) should be declared external
ContractWithFunctionNotCalled2.funcNotCalled() (tests/external_function.sol#32-39) should be declared external ContractWithFunctionNotCalled2.funcNotCalled() (tests/external_function.sol#32-39) should be declared external
FunctionParameterWrite.parameter_read_ok_for_external(uint256) (tests/external_function.sol#74-76) should be declared external
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-as-external Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-as-external
INFO:Slither:tests/external_function.sol analyzed (5 contracts), 4 result(s) found INFO:Slither:tests/external_function.sol analyzed (6 contracts), 5 result(s) found

@ -19,6 +19,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
22 22
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
21, 21,
22, 22,
@ -55,6 +57,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -95,6 +98,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
21, 21,
22, 22,
@ -114,6 +118,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -160,6 +165,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
26 26
], ],
@ -177,6 +183,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
25, 25,
26, 26,
@ -196,6 +203,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -236,6 +244,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
25, 25,
26, 26,
@ -255,6 +264,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -301,6 +311,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
33 33
], ],
@ -318,6 +329,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
32, 32,
33, 33,
@ -338,6 +350,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -427,6 +440,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
32, 32,
33, 33,
@ -447,6 +461,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -542,6 +557,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
38 38
], ],
@ -559,6 +575,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
37, 37,
38, 38,
@ -579,6 +596,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -668,6 +686,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
37, 37,
38, 38,
@ -688,6 +707,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -783,6 +803,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
43 43
], ],
@ -800,6 +821,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -820,6 +842,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -909,6 +932,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -929,6 +953,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1024,6 +1049,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
48 48
], ],
@ -1041,6 +1067,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
47, 47,
48, 48,
@ -1061,6 +1088,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1150,6 +1178,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
47, 47,
48, 48,
@ -1170,6 +1199,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1265,6 +1295,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
54 54
], ],
@ -1282,6 +1313,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
52, 52,
53, 53,
@ -1304,6 +1336,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1393,6 +1426,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
52, 52,
53, 53,
@ -1415,6 +1449,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1510,6 +1545,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
61 61
], ],
@ -1527,6 +1563,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
59, 59,
60, 60,
@ -1549,6 +1586,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1638,6 +1676,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
59, 59,
60, 60,
@ -1660,6 +1699,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1755,6 +1795,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
68 68
], ],
@ -1772,6 +1813,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
66, 66,
67, 67,
@ -1794,6 +1836,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -1883,6 +1926,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
66, 66,
67, 67,
@ -1905,6 +1949,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -2000,6 +2045,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
124 124
], ],
@ -2017,6 +2063,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
123, 123,
124, 124,
@ -2036,6 +2083,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
99, 99,
100, 100,
@ -2094,6 +2142,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
123, 123,
124, 124,
@ -2113,6 +2162,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
99, 99,
100, 100,
@ -2177,6 +2227,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
128 128
], ],
@ -2194,6 +2245,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
127, 127,
128, 128,
@ -2213,6 +2265,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
99, 99,
100, 100,
@ -2271,6 +2324,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
127, 127,
128, 128,
@ -2290,6 +2344,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
99, 99,
100, 100,
@ -2354,6 +2409,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
132 132
], ],
@ -2371,6 +2427,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
131, 131,
132, 132,
@ -2390,6 +2447,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
99, 99,
100, 100,
@ -2448,6 +2506,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
131, 131,
132, 132,
@ -2467,6 +2526,7 @@
"filename_relative": "tests/incorrect_equality.sol", "filename_relative": "tests/incorrect_equality.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_equality.sol",
"filename_short": "tests/incorrect_equality.sol", "filename_short": "tests/incorrect_equality.sol",
"is_dependency": false,
"lines": [ "lines": [
99, 99,
100, 100,

@ -19,6 +19,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
4 4
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -71,6 +73,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -88,6 +91,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -123,6 +127,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6 6
], ],
@ -140,6 +145,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -175,6 +181,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -192,6 +199,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -227,6 +235,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
8 8
], ],
@ -244,6 +253,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -279,6 +289,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
9 9
], ],
@ -296,6 +307,7 @@
"filename_relative": "tests/incorrect_erc20_interface.sol", "filename_relative": "tests/incorrect_erc20_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc20_interface.sol",
"filename_short": "tests/incorrect_erc20_interface.sol", "filename_short": "tests/incorrect_erc20_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,

@ -19,6 +19,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
4 4
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -66,6 +68,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -83,6 +86,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -121,6 +125,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
8 8
], ],
@ -138,6 +143,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -176,6 +182,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
9 9
], ],
@ -193,6 +200,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -231,6 +239,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -248,6 +257,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -286,6 +296,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
11 11
], ],
@ -303,6 +314,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -341,6 +353,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
12 12
], ],
@ -358,6 +371,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -396,6 +410,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
13 13
], ],
@ -413,6 +428,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -451,6 +467,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
14 14
], ],
@ -468,6 +485,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -506,6 +524,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
15 15
], ],
@ -523,6 +542,7 @@
"filename_relative": "tests/incorrect_erc721_interface.sol", "filename_relative": "tests/incorrect_erc721_interface.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/incorrect_erc721_interface.sol",
"filename_short": "tests/incorrect_erc721_interface.sol", "filename_short": "tests/incorrect_erc721_interface.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,

@ -19,6 +19,7 @@
"filename_relative": "tests/inline_assembly_contract-0.5.1.sol", "filename_relative": "tests/inline_assembly_contract-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol",
"filename_short": "tests/inline_assembly_contract-0.5.1.sol", "filename_short": "tests/inline_assembly_contract-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -50,6 +51,7 @@
"filename_relative": "tests/inline_assembly_contract-0.5.1.sol", "filename_relative": "tests/inline_assembly_contract-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol",
"filename_short": "tests/inline_assembly_contract-0.5.1.sol", "filename_short": "tests/inline_assembly_contract-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -86,6 +88,7 @@
"filename_relative": "tests/inline_assembly_contract-0.5.1.sol", "filename_relative": "tests/inline_assembly_contract-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol",
"filename_short": "tests/inline_assembly_contract-0.5.1.sol", "filename_short": "tests/inline_assembly_contract-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
7, 7,
8, 8,
@ -116,6 +119,7 @@
"filename_relative": "tests/inline_assembly_contract-0.5.1.sol", "filename_relative": "tests/inline_assembly_contract-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol",
"filename_short": "tests/inline_assembly_contract-0.5.1.sol", "filename_short": "tests/inline_assembly_contract-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -147,6 +151,7 @@
"filename_relative": "tests/inline_assembly_contract-0.5.1.sol", "filename_relative": "tests/inline_assembly_contract-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract-0.5.1.sol",
"filename_short": "tests/inline_assembly_contract-0.5.1.sol", "filename_short": "tests/inline_assembly_contract-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,

@ -19,6 +19,7 @@
"filename_relative": "tests/inline_assembly_contract.sol", "filename_relative": "tests/inline_assembly_contract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol",
"filename_short": "tests/inline_assembly_contract.sol", "filename_short": "tests/inline_assembly_contract.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -50,6 +51,7 @@
"filename_relative": "tests/inline_assembly_contract.sol", "filename_relative": "tests/inline_assembly_contract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol",
"filename_short": "tests/inline_assembly_contract.sol", "filename_short": "tests/inline_assembly_contract.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -86,6 +88,7 @@
"filename_relative": "tests/inline_assembly_contract.sol", "filename_relative": "tests/inline_assembly_contract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol",
"filename_short": "tests/inline_assembly_contract.sol", "filename_short": "tests/inline_assembly_contract.sol",
"is_dependency": false,
"lines": [ "lines": [
7, 7,
8, 8,
@ -116,6 +119,7 @@
"filename_relative": "tests/inline_assembly_contract.sol", "filename_relative": "tests/inline_assembly_contract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol",
"filename_short": "tests/inline_assembly_contract.sol", "filename_short": "tests/inline_assembly_contract.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -147,6 +151,7 @@
"filename_relative": "tests/inline_assembly_contract.sol", "filename_relative": "tests/inline_assembly_contract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_contract.sol",
"filename_short": "tests/inline_assembly_contract.sol", "filename_short": "tests/inline_assembly_contract.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,

@ -19,6 +19,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -42,6 +43,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -105,6 +107,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -125,6 +128,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -148,6 +152,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -221,6 +226,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
25, 25,
26, 26,
@ -260,6 +266,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -323,6 +330,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
26, 26,
27, 27,
@ -361,6 +369,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
25, 25,
26, 26,
@ -400,6 +409,7 @@
"filename_relative": "tests/inline_assembly_library-0.5.1.sol", "filename_relative": "tests/inline_assembly_library-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library-0.5.1.sol",
"filename_short": "tests/inline_assembly_library-0.5.1.sol", "filename_short": "tests/inline_assembly_library-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,

@ -19,6 +19,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -42,6 +43,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -105,6 +107,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -125,6 +128,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -148,6 +152,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -221,6 +226,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
25, 25,
26, 26,
@ -260,6 +266,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -323,6 +330,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
26, 26,
27, 27,
@ -361,6 +369,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
25, 25,
26, 26,
@ -400,6 +409,7 @@
"filename_relative": "tests/inline_assembly_library.sol", "filename_relative": "tests/inline_assembly_library.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/inline_assembly_library.sol",
"filename_short": "tests/inline_assembly_library.sol", "filename_short": "tests/inline_assembly_library.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,

@ -19,6 +19,7 @@
"filename_relative": "tests/locked_ether-0.5.1.sol", "filename_relative": "tests/locked_ether-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol",
"filename_short": "tests/locked_ether-0.5.1.sol", "filename_short": "tests/locked_ether-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
26 26
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/locked_ether-0.5.1.sol", "filename_relative": "tests/locked_ether-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol",
"filename_short": "tests/locked_ether-0.5.1.sol", "filename_short": "tests/locked_ether-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -55,6 +57,7 @@
"filename_relative": "tests/locked_ether-0.5.1.sol", "filename_relative": "tests/locked_ether-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether-0.5.1.sol",
"filename_short": "tests/locked_ether-0.5.1.sol", "filename_short": "tests/locked_ether-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,

@ -19,6 +19,7 @@
"filename_relative": "tests/locked_ether.sol", "filename_relative": "tests/locked_ether.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol",
"filename_short": "tests/locked_ether.sol", "filename_short": "tests/locked_ether.sol",
"is_dependency": false,
"lines": [ "lines": [
26 26
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/locked_ether.sol", "filename_relative": "tests/locked_ether.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol",
"filename_short": "tests/locked_ether.sol", "filename_short": "tests/locked_ether.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -55,6 +57,7 @@
"filename_relative": "tests/locked_ether.sol", "filename_relative": "tests/locked_ether.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/locked_ether.sol",
"filename_short": "tests/locked_ether.sol", "filename_short": "tests/locked_ether.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,

@ -19,6 +19,7 @@
"filename_relative": "tests/low_level_calls.sol", "filename_relative": "tests/low_level_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol",
"filename_short": "tests/low_level_calls.sol", "filename_short": "tests/low_level_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -38,6 +39,7 @@
"filename_relative": "tests/low_level_calls.sol", "filename_relative": "tests/low_level_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol",
"filename_short": "tests/low_level_calls.sol", "filename_short": "tests/low_level_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -62,6 +64,7 @@
"filename_relative": "tests/low_level_calls.sol", "filename_relative": "tests/low_level_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol",
"filename_short": "tests/low_level_calls.sol", "filename_short": "tests/low_level_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
6 6
], ],
@ -79,6 +82,7 @@
"filename_relative": "tests/low_level_calls.sol", "filename_relative": "tests/low_level_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol",
"filename_short": "tests/low_level_calls.sol", "filename_short": "tests/low_level_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
5, 5,
6, 6,
@ -98,6 +102,7 @@
"filename_relative": "tests/low_level_calls.sol", "filename_relative": "tests/low_level_calls.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/low_level_calls.sol",
"filename_short": "tests/low_level_calls.sol", "filename_short": "tests/low_level_calls.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,

@ -19,6 +19,7 @@
"filename_relative": "tests/multiple_calls_in_loop.sol", "filename_relative": "tests/multiple_calls_in_loop.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol",
"filename_short": "tests/multiple_calls_in_loop.sol", "filename_short": "tests/multiple_calls_in_loop.sol",
"is_dependency": false,
"lines": [ "lines": [
11 11
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/multiple_calls_in_loop.sol", "filename_relative": "tests/multiple_calls_in_loop.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol",
"filename_short": "tests/multiple_calls_in_loop.sol", "filename_short": "tests/multiple_calls_in_loop.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -57,6 +59,7 @@
"filename_relative": "tests/multiple_calls_in_loop.sol", "filename_relative": "tests/multiple_calls_in_loop.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/multiple_calls_in_loop.sol",
"filename_short": "tests/multiple_calls_in_loop.sol", "filename_short": "tests/multiple_calls_in_loop.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -93,6 +94,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -112,6 +114,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -188,6 +191,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
23 23
], ],
@ -205,6 +209,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -282,6 +287,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
30, 30,
31, 31,
@ -302,6 +308,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -379,6 +386,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
35 35
], ],
@ -396,6 +404,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
35, 35,
36, 36,
@ -416,6 +425,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -495,6 +505,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
9 9
], ],
@ -512,6 +523,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -588,6 +600,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
11 11
], ],
@ -605,6 +618,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -681,6 +695,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
6 6
], ],
@ -698,6 +713,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -774,6 +790,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
41, 41,
42, 42,
@ -793,6 +810,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -870,6 +888,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
59 59
], ],
@ -887,6 +906,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
59, 59,
60 60
@ -905,6 +925,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
54, 54,
55, 55,
@ -953,6 +974,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
56 56
], ],
@ -970,6 +992,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
54, 54,
55, 55,
@ -1015,6 +1038,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
67 67
], ],
@ -1032,6 +1056,7 @@
"filename_relative": "tests/naming_convention.sol", "filename_relative": "tests/naming_convention.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/naming_convention.sol",
"filename_short": "tests/naming_convention.sol", "filename_short": "tests/naming_convention.sol",
"is_dependency": false,
"lines": [ "lines": [
54, 54,
55, 55,

@ -12,4 +12,4 @@ Parameter '_used' of _used (tests/naming_convention.sol#59) is not in mixedCase
Variable 'T._myPublicVar' (tests/naming_convention.sol#56) is not in mixedCase Variable 'T._myPublicVar' (tests/naming_convention.sol#56) is not in mixedCase
Variable 'T.l' (tests/naming_convention.sol#67) used l, O, I, which should not be used Variable 'T.l' (tests/naming_convention.sol#67) used l, O, I, which should not be used
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
INFO:Slither:tests/naming_convention.sol analyzed (3 contracts), 12 result(s) found INFO:Slither:tests/naming_convention.sol analyzed (4 contracts), 12 result(s) found

@ -19,6 +19,7 @@
"filename_relative": null, "filename_relative": null,
"filename_absolute": null, "filename_absolute": null,
"filename_short": null, "filename_short": null,
"is_dependency": false,
"lines": [], "lines": [],
"starting_column": null, "starting_column": null,
"ending_column": null "ending_column": null

@ -19,6 +19,7 @@
"filename_relative": "tests/pragma.0.4.23.sol", "filename_relative": "tests/pragma.0.4.23.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.23.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.23.sol",
"filename_short": "tests/pragma.0.4.23.sol", "filename_short": "tests/pragma.0.4.23.sol",
"is_dependency": false,
"lines": [ "lines": [
1 1
], ],
@ -44,6 +45,7 @@
"filename_relative": "tests/pragma.0.4.24.sol", "filename_relative": "tests/pragma.0.4.24.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.24.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/pragma.0.4.24.sol",
"filename_short": "tests/pragma.0.4.24.sol", "filename_short": "tests/pragma.0.4.24.sol",
"is_dependency": false,
"lines": [ "lines": [
1 1
], ],

@ -19,6 +19,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -44,6 +45,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -115,6 +117,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
17 17
], ],
@ -132,6 +135,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -157,6 +161,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -233,6 +238,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
21 21
], ],
@ -250,6 +256,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -275,6 +282,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -360,6 +368,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
44, 44,
45, 45,
@ -386,6 +395,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -457,6 +467,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
49 49
], ],
@ -474,6 +485,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
44, 44,
45, 45,
@ -500,6 +512,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -576,6 +589,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
51 51
], ],
@ -593,6 +607,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
44, 44,
45, 45,
@ -619,6 +634,7 @@
"filename_relative": "tests/reentrancy-0.5.1.sol", "filename_relative": "tests/reentrancy-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy-0.5.1.sol",
"filename_short": "tests/reentrancy-0.5.1.sol", "filename_short": "tests/reentrancy-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,

@ -19,6 +19,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -43,6 +44,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -132,6 +134,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
17 17
], ],
@ -149,6 +152,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -173,6 +177,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -267,6 +272,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
20 20
], ],
@ -284,6 +290,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -308,6 +315,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -411,6 +419,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
64, 64,
65, 65,
@ -434,6 +443,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -523,6 +533,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
67 67
], ],
@ -540,6 +551,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
64, 64,
65, 65,
@ -563,6 +575,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -657,6 +670,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
68 68
], ],
@ -674,6 +688,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
64, 64,
65, 65,
@ -697,6 +712,7 @@
"filename_relative": "tests/reentrancy.sol", "filename_relative": "tests/reentrancy.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/reentrancy.sol",
"filename_short": "tests/reentrancy.sol", "filename_short": "tests/reentrancy.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,

@ -7,8 +7,27 @@
"check": "rtlo", "check": "rtlo",
"impact": "High", "impact": "High",
"confidence": "High", "confidence": "High",
"description": "/home/travis/build/crytic/slither/tests/right_to_left_override.sol contains a unicode right-to-left-override character:\n\t- test1(/*A\u202e/*B*/2 , 1/*\u202d\n", "description": "/home/travis/build/crytic/slither/tests/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",
"elements": [] "elements": [
{
"type": "other",
"name": "rtlo-character",
"source_mapping": {
"start": 96,
"length": 3,
"filename_used": "/home/travis/build/crytic/slither/tests/right_to_left_override.sol",
"filename_relative": "tests/right_to_left_override.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/right_to_left_override.sol",
"filename_short": "tests/right_to_left_override.sol",
"is_dependency": false,
"lines": [
7
],
"starting_column": 18,
"ending_column": 21
}
}
]
} }
] ]
} }

@ -1,5 +1,5 @@
INFO:Detectors: INFO:Detectors:
/home/travis/build/crytic/slither/tests/right_to_left_override.sol contains a unicode right-to-left-override character: /home/travis/build/crytic/slither/tests/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:
- test1(/*A/*B*/2 , 1/* - b' test1(/*A\xe2\x80\xae/*B*/2 , 1/*\xe2\x80\xad'
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#right-to-left-override-character Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#right-to-left-override-character
INFO:Slither:tests/right_to_left_override.sol analyzed (1 contracts), 1 result(s) found INFO:Slither:tests/right_to_left_override.sol analyzed (1 contracts), 1 result(s) found

@ -19,6 +19,7 @@
"filename_relative": "tests/shadowing_abstract.sol", "filename_relative": "tests/shadowing_abstract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol",
"filename_short": "tests/shadowing_abstract.sol", "filename_short": "tests/shadowing_abstract.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/shadowing_abstract.sol", "filename_relative": "tests/shadowing_abstract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol",
"filename_short": "tests/shadowing_abstract.sol", "filename_short": "tests/shadowing_abstract.sol",
"is_dependency": false,
"lines": [ "lines": [
6, 6,
7, 7,
@ -58,6 +60,7 @@
"filename_relative": "tests/shadowing_abstract.sol", "filename_relative": "tests/shadowing_abstract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol",
"filename_short": "tests/shadowing_abstract.sol", "filename_short": "tests/shadowing_abstract.sol",
"is_dependency": false,
"lines": [ "lines": [
2 2
], ],
@ -75,6 +78,7 @@
"filename_relative": "tests/shadowing_abstract.sol", "filename_relative": "tests/shadowing_abstract.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_abstract.sol",
"filename_short": "tests/shadowing_abstract.sol", "filename_short": "tests/shadowing_abstract.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
4 4
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -68,6 +70,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -85,6 +88,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -117,6 +121,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -134,6 +139,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -167,6 +173,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -186,6 +193,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -220,6 +228,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
14 14
], ],
@ -237,6 +246,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -256,6 +266,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -292,6 +303,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
11 11
], ],
@ -309,6 +321,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
10, 10,
11, 11,
@ -342,6 +355,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
23, 23,
24, 24,
@ -364,6 +378,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -403,6 +418,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -420,6 +436,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
23, 23,
24, 24,
@ -442,6 +459,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -483,6 +501,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
26 26
], ],
@ -500,6 +519,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
23, 23,
24, 24,
@ -522,6 +542,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -563,6 +584,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
19 19
], ],
@ -580,6 +602,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -618,6 +641,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
20 20
], ],
@ -635,6 +659,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -673,6 +698,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
21 21
], ],
@ -690,6 +716,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
18, 18,
19, 19,
@ -728,6 +755,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
32 32
], ],
@ -745,6 +773,7 @@
"filename_relative": "tests/shadowing_builtin_symbols.sol", "filename_relative": "tests/shadowing_builtin_symbols.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_builtin_symbols.sol",
"filename_short": "tests/shadowing_builtin_symbols.sol", "filename_short": "tests/shadowing_builtin_symbols.sol",
"is_dependency": false,
"lines": [ "lines": [
31, 31,
32, 32,

@ -19,6 +19,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -53,6 +55,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -85,6 +88,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
17 17
], ],
@ -102,6 +106,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -131,6 +136,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
9 9
], ],
@ -148,6 +154,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,
@ -173,6 +180,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
4 4
], ],
@ -190,6 +198,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -220,6 +229,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -237,6 +247,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -254,6 +265,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -286,6 +298,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -303,6 +316,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -333,6 +347,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -350,6 +365,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -367,6 +383,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -399,6 +416,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
11 11
], ],
@ -416,6 +434,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,
@ -450,6 +469,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -467,6 +487,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -484,6 +505,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -516,6 +538,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
20, 20,
21, 21,
@ -536,6 +559,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -574,6 +598,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -591,6 +616,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
25 25
], ],
@ -608,6 +634,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
16, 16,
17, 17,
@ -640,6 +667,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
13 13
], ],
@ -657,6 +685,7 @@
"filename_relative": "tests/shadowing_local_variable.sol", "filename_relative": "tests/shadowing_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_local_variable.sol",
"filename_short": "tests/shadowing_local_variable.sol", "filename_short": "tests/shadowing_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,

@ -19,6 +19,7 @@
"filename_relative": "tests/shadowing_state_variable.sol", "filename_relative": "tests/shadowing_state_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol",
"filename_short": "tests/shadowing_state_variable.sol", "filename_short": "tests/shadowing_state_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
12 12
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/shadowing_state_variable.sol", "filename_relative": "tests/shadowing_state_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol",
"filename_short": "tests/shadowing_state_variable.sol", "filename_short": "tests/shadowing_state_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -65,6 +67,7 @@
"filename_relative": "tests/shadowing_state_variable.sol", "filename_relative": "tests/shadowing_state_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol",
"filename_short": "tests/shadowing_state_variable.sol", "filename_short": "tests/shadowing_state_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
2 2
], ],
@ -82,6 +85,7 @@
"filename_relative": "tests/shadowing_state_variable.sol", "filename_relative": "tests/shadowing_state_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/shadowing_state_variable.sol",
"filename_short": "tests/shadowing_state_variable.sol", "filename_short": "tests/shadowing_state_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/solc_version_incorrect.sol", "filename_relative": "tests/solc_version_incorrect.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol",
"filename_short": "tests/solc_version_incorrect.sol", "filename_short": "tests/solc_version_incorrect.sol",
"is_dependency": false,
"lines": [ "lines": [
2 2
], ],
@ -52,6 +53,7 @@
"filename_relative": "tests/solc_version_incorrect.sol", "filename_relative": "tests/solc_version_incorrect.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/solc_version_incorrect.sol",
"filename_short": "tests/solc_version_incorrect.sol", "filename_short": "tests/solc_version_incorrect.sol",
"is_dependency": false,
"lines": [ "lines": [
3 3
], ],

@ -19,6 +19,7 @@
"filename_relative": null, "filename_relative": null,
"filename_absolute": null, "filename_absolute": null,
"filename_short": null, "filename_short": null,
"is_dependency": false,
"lines": [], "lines": [],
"starting_column": null, "starting_column": null,
"ending_column": null "ending_column": null
@ -50,6 +51,7 @@
"filename_relative": null, "filename_relative": null,
"filename_absolute": null, "filename_absolute": null,
"filename_short": null, "filename_short": null,
"is_dependency": false,
"lines": [], "lines": [],
"starting_column": null, "starting_column": null,
"ending_column": null "ending_column": null

@ -19,6 +19,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -38,6 +39,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -77,6 +79,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -94,6 +97,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
4, 4,
5, 5,
@ -113,6 +117,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -162,6 +167,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,
@ -182,6 +188,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -221,6 +228,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -238,6 +246,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
8, 8,
9, 9,
@ -258,6 +267,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -307,6 +317,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -326,6 +337,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -365,6 +377,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
14 14
], ],
@ -382,6 +395,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -401,6 +415,7 @@
"filename_relative": "tests/timestamp.sol", "filename_relative": "tests/timestamp.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/timestamp.sol",
"filename_short": "tests/timestamp.sol", "filename_short": "tests/timestamp.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -59,6 +61,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -121,6 +124,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
11 11
], ],
@ -138,6 +142,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -161,6 +166,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -223,6 +229,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
12 12
], ],
@ -240,6 +247,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -263,6 +271,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -325,6 +334,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
13 13
], ],
@ -342,6 +352,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -365,6 +376,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -427,6 +439,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
22 22
], ],
@ -444,6 +457,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
20, 20,
21, 21,
@ -465,6 +479,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -527,6 +542,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
31 31
], ],
@ -544,6 +560,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
29, 29,
30, 30,
@ -565,6 +582,7 @@
"filename_relative": "tests/too_many_digits.sol", "filename_relative": "tests/too_many_digits.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/too_many_digits.sol",
"filename_short": "tests/too_many_digits.sol", "filename_short": "tests/too_many_digits.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,

@ -19,6 +19,7 @@
"filename_relative": "tests/tx_origin-0.5.1.sol", "filename_relative": "tests/tx_origin-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol",
"filename_short": "tests/tx_origin-0.5.1.sol", "filename_short": "tests/tx_origin-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/tx_origin-0.5.1.sol", "filename_relative": "tests/tx_origin-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol",
"filename_short": "tests/tx_origin-0.5.1.sol", "filename_short": "tests/tx_origin-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -55,6 +57,7 @@
"filename_relative": "tests/tx_origin-0.5.1.sol", "filename_relative": "tests/tx_origin-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol",
"filename_short": "tests/tx_origin-0.5.1.sol", "filename_short": "tests/tx_origin-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -108,6 +111,7 @@
"filename_relative": "tests/tx_origin-0.5.1.sol", "filename_relative": "tests/tx_origin-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol",
"filename_short": "tests/tx_origin-0.5.1.sol", "filename_short": "tests/tx_origin-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
14 14
], ],
@ -125,6 +129,7 @@
"filename_relative": "tests/tx_origin-0.5.1.sol", "filename_relative": "tests/tx_origin-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol",
"filename_short": "tests/tx_origin-0.5.1.sol", "filename_short": "tests/tx_origin-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -146,6 +151,7 @@
"filename_relative": "tests/tx_origin-0.5.1.sol", "filename_relative": "tests/tx_origin-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin-0.5.1.sol",
"filename_short": "tests/tx_origin-0.5.1.sol", "filename_short": "tests/tx_origin-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,

@ -19,6 +19,7 @@
"filename_relative": "tests/tx_origin.sol", "filename_relative": "tests/tx_origin.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol",
"filename_short": "tests/tx_origin.sol", "filename_short": "tests/tx_origin.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/tx_origin.sol", "filename_relative": "tests/tx_origin.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol",
"filename_short": "tests/tx_origin.sol", "filename_short": "tests/tx_origin.sol",
"is_dependency": false,
"lines": [ "lines": [
9, 9,
10, 10,
@ -55,6 +57,7 @@
"filename_relative": "tests/tx_origin.sol", "filename_relative": "tests/tx_origin.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol",
"filename_short": "tests/tx_origin.sol", "filename_short": "tests/tx_origin.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -108,6 +111,7 @@
"filename_relative": "tests/tx_origin.sol", "filename_relative": "tests/tx_origin.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol",
"filename_short": "tests/tx_origin.sol", "filename_short": "tests/tx_origin.sol",
"is_dependency": false,
"lines": [ "lines": [
14 14
], ],
@ -125,6 +129,7 @@
"filename_relative": "tests/tx_origin.sol", "filename_relative": "tests/tx_origin.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol",
"filename_short": "tests/tx_origin.sol", "filename_short": "tests/tx_origin.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -146,6 +151,7 @@
"filename_relative": "tests/tx_origin.sol", "filename_relative": "tests/tx_origin.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/tx_origin.sol",
"filename_short": "tests/tx_origin.sol", "filename_short": "tests/tx_origin.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,

@ -19,6 +19,7 @@
"filename_relative": "tests/unchecked_lowlevel-0.5.1.sol", "filename_relative": "tests/unchecked_lowlevel-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol",
"filename_short": "tests/unchecked_lowlevel-0.5.1.sol", "filename_short": "tests/unchecked_lowlevel-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3 3
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/unchecked_lowlevel-0.5.1.sol", "filename_relative": "tests/unchecked_lowlevel-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol",
"filename_short": "tests/unchecked_lowlevel-0.5.1.sol", "filename_short": "tests/unchecked_lowlevel-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,
@ -55,6 +57,7 @@
"filename_relative": "tests/unchecked_lowlevel-0.5.1.sol", "filename_relative": "tests/unchecked_lowlevel-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol",
"filename_short": "tests/unchecked_lowlevel-0.5.1.sol", "filename_short": "tests/unchecked_lowlevel-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -87,6 +90,7 @@
"filename_relative": "tests/unchecked_lowlevel-0.5.1.sol", "filename_relative": "tests/unchecked_lowlevel-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol",
"filename_short": "tests/unchecked_lowlevel-0.5.1.sol", "filename_short": "tests/unchecked_lowlevel-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,
@ -106,6 +110,7 @@
"filename_relative": "tests/unchecked_lowlevel-0.5.1.sol", "filename_relative": "tests/unchecked_lowlevel-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel-0.5.1.sol",
"filename_short": "tests/unchecked_lowlevel-0.5.1.sol", "filename_short": "tests/unchecked_lowlevel-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/unchecked_lowlevel.sol", "filename_relative": "tests/unchecked_lowlevel.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol",
"filename_short": "tests/unchecked_lowlevel.sol", "filename_short": "tests/unchecked_lowlevel.sol",
"is_dependency": false,
"lines": [ "lines": [
3 3
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/unchecked_lowlevel.sol", "filename_relative": "tests/unchecked_lowlevel.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol",
"filename_short": "tests/unchecked_lowlevel.sol", "filename_short": "tests/unchecked_lowlevel.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,
@ -55,6 +57,7 @@
"filename_relative": "tests/unchecked_lowlevel.sol", "filename_relative": "tests/unchecked_lowlevel.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol",
"filename_short": "tests/unchecked_lowlevel.sol", "filename_short": "tests/unchecked_lowlevel.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -86,6 +89,7 @@
"filename_relative": "tests/unchecked_lowlevel.sol", "filename_relative": "tests/unchecked_lowlevel.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol",
"filename_short": "tests/unchecked_lowlevel.sol", "filename_short": "tests/unchecked_lowlevel.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,
@ -105,6 +109,7 @@
"filename_relative": "tests/unchecked_lowlevel.sol", "filename_relative": "tests/unchecked_lowlevel.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_lowlevel.sol",
"filename_short": "tests/unchecked_lowlevel.sol", "filename_short": "tests/unchecked_lowlevel.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/unchecked_send-0.5.1.sol", "filename_relative": "tests/unchecked_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol",
"filename_short": "tests/unchecked_send-0.5.1.sol", "filename_short": "tests/unchecked_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3 3
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/unchecked_send-0.5.1.sol", "filename_relative": "tests/unchecked_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol",
"filename_short": "tests/unchecked_send-0.5.1.sol", "filename_short": "tests/unchecked_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,
@ -55,6 +57,7 @@
"filename_relative": "tests/unchecked_send-0.5.1.sol", "filename_relative": "tests/unchecked_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol",
"filename_short": "tests/unchecked_send-0.5.1.sol", "filename_short": "tests/unchecked_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -94,6 +97,7 @@
"filename_relative": "tests/unchecked_send-0.5.1.sol", "filename_relative": "tests/unchecked_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol",
"filename_short": "tests/unchecked_send-0.5.1.sol", "filename_short": "tests/unchecked_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
2, 2,
3, 3,
@ -113,6 +117,7 @@
"filename_relative": "tests/unchecked_send-0.5.1.sol", "filename_relative": "tests/unchecked_send-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unchecked_send-0.5.1.sol",
"filename_short": "tests/unchecked_send-0.5.1.sol", "filename_short": "tests/unchecked_send-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -63,6 +65,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
7, 7,
8, 8,
@ -82,6 +85,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -118,6 +122,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
15 15
], ],
@ -135,6 +140,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -167,6 +173,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
23, 23,
24, 24,
@ -187,6 +194,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -228,6 +236,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
45 45
], ],
@ -245,6 +254,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -280,6 +290,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
53, 53,
54, 54,
@ -300,6 +311,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -344,6 +356,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
47 47
], ],
@ -361,6 +374,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -396,6 +410,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
49, 49,
50, 50,
@ -415,6 +430,7 @@
"filename_relative": "tests/uninitialized-0.5.1.sol", "filename_relative": "tests/uninitialized-0.5.1.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized-0.5.1.sol",
"filename_short": "tests/uninitialized-0.5.1.sol", "filename_short": "tests/uninitialized-0.5.1.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,

@ -19,6 +19,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -63,6 +65,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
7, 7,
8, 8,
@ -82,6 +85,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -118,6 +122,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
15 15
], ],
@ -135,6 +140,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -167,6 +173,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
23, 23,
24, 24,
@ -187,6 +194,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
14, 14,
15, 15,
@ -228,6 +236,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
45 45
], ],
@ -245,6 +254,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -280,6 +290,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
53, 53,
54, 54,
@ -300,6 +311,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -344,6 +356,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
47 47
], ],
@ -361,6 +374,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,
@ -396,6 +410,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
49, 49,
50, 50,
@ -415,6 +430,7 @@
"filename_relative": "tests/uninitialized.sol", "filename_relative": "tests/uninitialized.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized.sol",
"filename_short": "tests/uninitialized.sol", "filename_short": "tests/uninitialized.sol",
"is_dependency": false,
"lines": [ "lines": [
42, 42,
43, 43,

@ -19,6 +19,7 @@
"filename_relative": "tests/uninitialized_local_variable.sol", "filename_relative": "tests/uninitialized_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol",
"filename_short": "tests/uninitialized_local_variable.sol", "filename_short": "tests/uninitialized_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
4 4
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/uninitialized_local_variable.sol", "filename_relative": "tests/uninitialized_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol",
"filename_short": "tests/uninitialized_local_variable.sol", "filename_short": "tests/uninitialized_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -57,6 +59,7 @@
"filename_relative": "tests/uninitialized_local_variable.sol", "filename_relative": "tests/uninitialized_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol",
"filename_short": "tests/uninitialized_local_variable.sol", "filename_short": "tests/uninitialized_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -87,6 +90,7 @@
"filename_relative": "tests/uninitialized_local_variable.sol", "filename_relative": "tests/uninitialized_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol",
"filename_short": "tests/uninitialized_local_variable.sol", "filename_short": "tests/uninitialized_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -108,6 +112,7 @@
"filename_relative": "tests/uninitialized_local_variable.sol", "filename_relative": "tests/uninitialized_local_variable.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_local_variable.sol",
"filename_short": "tests/uninitialized_local_variable.sol", "filename_short": "tests/uninitialized_local_variable.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/uninitialized_storage_pointer.sol", "filename_relative": "tests/uninitialized_storage_pointer.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol",
"filename_short": "tests/uninitialized_storage_pointer.sol", "filename_short": "tests/uninitialized_storage_pointer.sol",
"is_dependency": false,
"lines": [ "lines": [
10 10
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/uninitialized_storage_pointer.sol", "filename_relative": "tests/uninitialized_storage_pointer.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol",
"filename_short": "tests/uninitialized_storage_pointer.sol", "filename_short": "tests/uninitialized_storage_pointer.sol",
"is_dependency": false,
"lines": [ "lines": [
7, 7,
8, 8,
@ -58,6 +60,7 @@
"filename_relative": "tests/uninitialized_storage_pointer.sol", "filename_relative": "tests/uninitialized_storage_pointer.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol",
"filename_short": "tests/uninitialized_storage_pointer.sol", "filename_short": "tests/uninitialized_storage_pointer.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,
@ -93,6 +96,7 @@
"filename_relative": "tests/uninitialized_storage_pointer.sol", "filename_relative": "tests/uninitialized_storage_pointer.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol",
"filename_short": "tests/uninitialized_storage_pointer.sol", "filename_short": "tests/uninitialized_storage_pointer.sol",
"is_dependency": false,
"lines": [ "lines": [
7, 7,
8, 8,
@ -115,6 +119,7 @@
"filename_relative": "tests/uninitialized_storage_pointer.sol", "filename_relative": "tests/uninitialized_storage_pointer.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/uninitialized_storage_pointer.sol",
"filename_short": "tests/uninitialized_storage_pointer.sol", "filename_short": "tests/uninitialized_storage_pointer.sol",
"is_dependency": false,
"lines": [ "lines": [
1, 1,
2, 2,

@ -19,6 +19,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
18 18
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
17, 17,
18, 18,
@ -65,6 +67,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -104,6 +107,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
17, 17,
18, 18,
@ -133,6 +137,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -178,6 +183,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
22 22
], ],
@ -195,6 +201,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
17, 17,
18, 18,
@ -224,6 +231,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,
@ -263,6 +271,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
17, 17,
18, 18,
@ -292,6 +301,7 @@
"filename_relative": "tests/unused_return.sol", "filename_relative": "tests/unused_return.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_return.sol",
"filename_short": "tests/unused_return.sol", "filename_short": "tests/unused_return.sol",
"is_dependency": false,
"lines": [ "lines": [
13, 13,
14, 14,

@ -19,6 +19,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
4 4
], ],
@ -36,6 +37,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -61,6 +63,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -91,6 +94,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
5 5
], ],
@ -108,6 +112,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -133,6 +138,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -163,6 +169,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
6 6
], ],
@ -180,6 +187,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -205,6 +213,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,
@ -235,6 +244,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
7 7
], ],
@ -252,6 +262,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
3, 3,
4, 4,
@ -277,6 +288,7 @@
"filename_relative": "tests/unused_state.sol", "filename_relative": "tests/unused_state.sol",
"filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol", "filename_absolute": "/home/travis/build/crytic/slither/tests/unused_state.sol",
"filename_short": "tests/unused_state.sol", "filename_short": "tests/unused_state.sol",
"is_dependency": false,
"lines": [ "lines": [
11, 11,
12, 12,

@ -68,3 +68,15 @@ contract InternalCall {
} }
} }
contract FunctionParameterWrite {
function parameter_read_ok_for_external (uint i) public {
uint local = i;
}
function parameter_read_not_ok_for_external (uint i) public returns (uint) {
i += 1;
return (i);
}
}

@ -66,3 +66,10 @@ contract T {
uint l = 1; uint l = 1;
} }
contract ParameterNameEmptyString {
function foo (uint) public {
}
}

Loading…
Cancel
Save