diff --git a/slither/core/declarations/__init__.py b/slither/core/declarations/__init__.py
index d3fe3dd22..3b619c1d1 100644
--- a/slither/core/declarations/__init__.py
+++ b/slither/core/declarations/__init__.py
@@ -13,3 +13,4 @@ from .solidity_variables import (
from .structure import Structure
from .enum_contract import EnumContract
from .structure_contract import StructureContract
+from .function_contract import FunctionContract
diff --git a/slither/core/declarations/contract.py b/slither/core/declarations/contract.py
index f16b0e70c..8c91fde28 100644
--- a/slither/core/declarations/contract.py
+++ b/slither/core/declarations/contract.py
@@ -25,7 +25,14 @@ from slither.utils.tests_pattern import is_test_contract
# pylint: disable=too-many-lines,too-many-instance-attributes,import-outside-toplevel,too-many-nested-blocks
if TYPE_CHECKING:
from slither.utils.type_helpers import LibraryCallType, HighLevelCallType, InternalCallType
- from slither.core.declarations import Enum, Event, Modifier, EnumContract, StructureContract
+ from slither.core.declarations import (
+ Enum,
+ Event,
+ Modifier,
+ EnumContract,
+ StructureContract,
+ FunctionContract,
+ )
from slither.slithir.variables.variable import SlithIRVariable
from slither.core.variables.variable import Variable
from slither.core.variables.state_variable import StateVariable
@@ -56,7 +63,7 @@ class Contract(ChildSlither, SourceMapping): # pylint: disable=too-many-public-
self._variables: Dict[str, "StateVariable"] = {}
self._variables_ordered: List["StateVariable"] = []
self._modifiers: Dict[str, "Modifier"] = {}
- self._functions: Dict[str, "Function"] = {}
+ self._functions: Dict[str, "FunctionContract"] = {}
self._linearizedBaseContracts = List[int]
# The only str is "*"
@@ -387,23 +394,23 @@ class Contract(ChildSlither, SourceMapping): # pylint: disable=too-many-public-
return self._signatures_declared
@property
- def functions(self) -> List["Function"]:
+ def functions(self) -> List["FunctionContract"]:
"""
list(Function): List of the functions
"""
return list(self._functions.values())
- def available_functions_as_dict(self) -> Dict[str, "Function"]:
+ def available_functions_as_dict(self) -> Dict[str, "FunctionContract"]:
if self._available_functions_as_dict is None:
self._available_functions_as_dict = {
f.full_name: f for f in self._functions.values() if not f.is_shadowed
}
return self._available_functions_as_dict
- def add_function(self, func: "Function"):
+ def add_function(self, func: "FunctionContract"):
self._functions[func.canonical_name] = func
- def set_functions(self, functions: Dict[str, "Function"]):
+ def set_functions(self, functions: Dict[str, "FunctionContract"]):
"""
Set the functions
@@ -413,21 +420,21 @@ class Contract(ChildSlither, SourceMapping): # pylint: disable=too-many-public-
self._functions = functions
@property
- def functions_inherited(self) -> List["Function"]:
+ def functions_inherited(self) -> List["FunctionContract"]:
"""
list(Function): List of the inherited functions
"""
return [f for f in self.functions if f.contract_declarer != self]
@property
- def functions_declared(self) -> List["Function"]:
+ def functions_declared(self) -> List["FunctionContract"]:
"""
list(Function): List of the functions defined within the contract (not inherited)
"""
return [f for f in self.functions if f.contract_declarer == self]
@property
- def functions_entry_points(self) -> List["Function"]:
+ def functions_entry_points(self) -> List["FunctionContract"]:
"""
list(Functions): List of public and external functions
"""
diff --git a/slither/core/slither_core.py b/slither/core/slither_core.py
index 2226b9879..d78f05358 100644
--- a/slither/core/slither_core.py
+++ b/slither/core/slither_core.py
@@ -90,6 +90,10 @@ class SlitherCore(Context): # pylint: disable=too-many-instance-attributes,too-
self._show_ignored_findings = False
+ self.counter_slithir_tuple = 0
+ self.counter_slithir_temporary = 0
+ self.counter_slithir_reference = 0
+
###################################################################################
###################################################################################
# region Source code
diff --git a/slither/core/solidity_types/elementary_type.py b/slither/core/solidity_types/elementary_type.py
index abb7852d9..dd4d3db75 100644
--- a/slither/core/solidity_types/elementary_type.py
+++ b/slither/core/solidity_types/elementary_type.py
@@ -85,8 +85,6 @@ Uint = [
Max_Uint = {k: 2 ** (8 * i) - 1 if i > 0 else 2 ** 256 - 1 for i, k in enumerate(Uint)}
Min_Uint = {k: 0 for k in Uint}
-MaxValues = dict(Max_Int, **Max_Uint)
-MinValues = dict(Min_Int, **Min_Uint)
Byte = [
"byte",
@@ -125,6 +123,16 @@ Byte = [
"bytes32",
]
+Max_Byte = {k: 2 ** (8 * (i + 1)) - 1 for i, k in enumerate(Byte[2:])}
+Max_Byte["bytes"] = None
+Max_Byte["byte"] = 255
+Min_Byte = {k: 1 << (4 + 8 * i) for i, k in enumerate(Byte[2:])}
+Min_Byte["bytes"] = 0x0
+Min_Byte["byte"] = 0x10
+
+MaxValues = dict(dict(Max_Int, **Max_Uint), **Max_Byte)
+MinValues = dict(dict(Min_Int, **Min_Uint), **Min_Byte)
+
# https://solidity.readthedocs.io/en/v0.4.24/types.html#fixed-point-numbers
M = list(range(8, 257, 8))
N = list(range(0, 81))
diff --git a/slither/detectors/all_detectors.py b/slither/detectors/all_detectors.py
index e94eab330..bbf9464d3 100644
--- a/slither/detectors/all_detectors.py
+++ b/slither/detectors/all_detectors.py
@@ -21,6 +21,7 @@ from .statements.tx_origin import TxOrigin
from .statements.assembly import Assembly
from .operations.low_level_calls import LowLevelCalls
from .operations.unused_return_values import UnusedReturnValues
+from .operations.unchecked_transfer import UncheckedTransfer
from .naming_convention.naming_convention import NamingConvention
from .functions.external_function import ExternalFunction
from .statements.controlled_delegatecall import ControlledDelegateCall
diff --git a/slither/detectors/operations/unchecked_low_level_return_values.py b/slither/detectors/operations/unchecked_low_level_return_values.py
index c2ac7f43b..8ecec9f1d 100644
--- a/slither/detectors/operations/unchecked_low_level_return_values.py
+++ b/slither/detectors/operations/unchecked_low_level_return_values.py
@@ -34,7 +34,5 @@ If the low level is used to prevent blocking operations, consider logging failed
WIKI_RECOMMENDATION = "Ensure that the return value of a low-level call is checked or logged."
- _txt_description = "low-level calls"
-
def _is_instance(self, ir): # pylint: disable=no-self-use
return isinstance(ir, LowLevelCall)
diff --git a/slither/detectors/operations/unchecked_send_return_value.py b/slither/detectors/operations/unchecked_send_return_value.py
index 1c9ba11c0..d98ec3317 100644
--- a/slither/detectors/operations/unchecked_send_return_value.py
+++ b/slither/detectors/operations/unchecked_send_return_value.py
@@ -35,7 +35,5 @@ If `send` is used to prevent blocking operations, consider logging the failed `s
WIKI_RECOMMENDATION = "Ensure that the return value of `send` is checked or logged."
- _txt_description = "send calls"
-
def _is_instance(self, ir): # pylint: disable=no-self-use
return isinstance(ir, Send)
diff --git a/slither/detectors/operations/unchecked_transfer.py b/slither/detectors/operations/unchecked_transfer.py
new file mode 100644
index 000000000..36456e3e0
--- /dev/null
+++ b/slither/detectors/operations/unchecked_transfer.py
@@ -0,0 +1,51 @@
+"""
+Module detecting unused transfer/transferFrom return values from external calls
+"""
+
+from slither.core.declarations import Function
+from slither.detectors.abstract_detector import DetectorClassification
+from slither.detectors.operations.unused_return_values import UnusedReturnValues
+from slither.slithir.operations import HighLevelCall
+
+
+class UncheckedTransfer(UnusedReturnValues):
+ """
+ If the return value of a transfer/transferFrom function is never used, it's likely to be bug
+ """
+
+ ARGUMENT = "unchecked-transfer"
+ HELP = "Unchecked tokens transfer"
+ IMPACT = DetectorClassification.HIGH
+ CONFIDENCE = DetectorClassification.MEDIUM
+
+ WIKI = "https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer"
+
+ WIKI_TITLE = "Unchecked transfer"
+ WIKI_DESCRIPTION = "The return value of an external transfer/transferFrom call is not checked"
+ WIKI_EXPLOIT_SCENARIO = """
+```solidity
+contract Token {
+ function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
+}
+contract MyBank{
+ mapping(address => uint) balances;
+ Token token;
+ function deposit(uint amount) public{
+ token.transferFrom(msg.sender, address(this), amount);
+ balances[msg.sender] += amount;
+ }
+}
+```
+Several tokens do not revert in case of failure and return false. If one of these tokens is used in `MyBank`, `deposit` will not revert if the transfer fails, and an attacker can call `deposit` for free.."""
+
+ WIKI_RECOMMENDATION = (
+ "Use `SafeERC20`, or ensure that the transfer/transferFrom return value is checked."
+ )
+
+ def _is_instance(self, ir): # pylint: disable=no-self-use
+ return (
+ isinstance(ir, HighLevelCall)
+ and isinstance(ir.function, Function)
+ and ir.function.solidity_signature
+ in ["transfer(address,uint256)", "transferFrom(address,address,uint256)"]
+ )
diff --git a/slither/detectors/operations/unused_return_values.py b/slither/detectors/operations/unused_return_values.py
index 4d98f71da..7ba4211d8 100644
--- a/slither/detectors/operations/unused_return_values.py
+++ b/slither/detectors/operations/unused_return_values.py
@@ -5,6 +5,7 @@ Module detecting unused return values from external calls
from slither.core.variables.state_variable import StateVariable
from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification
from slither.slithir.operations import HighLevelCall
+from slither.core.declarations import Function
class UnusedReturnValues(AbstractDetector):
@@ -36,10 +37,15 @@ contract MyConc{
WIKI_RECOMMENDATION = "Ensure that all the return values of the function calls are used."
- _txt_description = "external calls"
-
def _is_instance(self, ir): # pylint: disable=no-self-use
- return isinstance(ir, HighLevelCall)
+ return isinstance(ir, HighLevelCall) and (
+ (
+ isinstance(ir.function, Function)
+ and ir.function.solidity_signature
+ not in ["transfer(address,uint256)", "transferFrom(address,address,uint256)"]
+ )
+ or not isinstance(ir.function, Function)
+ )
def detect_unused_return_values(self, f): # pylint: disable=no-self-use
"""
diff --git a/slither/slithir/convert.py b/slither/slithir/convert.py
index f9fdc79cf..97c6134e6 100644
--- a/slither/slithir/convert.py
+++ b/slither/slithir/convert.py
@@ -1,5 +1,5 @@
import logging
-from typing import List, TYPE_CHECKING
+from typing import List, TYPE_CHECKING, Union, Optional
# pylint: disable= too-many-lines,import-outside-toplevel,too-many-branches,too-many-statements,too-many-nested-blocks
from slither.core.declarations import (
@@ -22,7 +22,12 @@ from slither.core.solidity_types import (
UserDefinedType,
TypeInformation,
)
-from slither.core.solidity_types.elementary_type import Int as ElementaryTypeInt
+from slither.core.solidity_types.elementary_type import (
+ Int as ElementaryTypeInt,
+ Uint,
+ Byte,
+ MaxValues,
+)
from slither.core.solidity_types.type import Type
from slither.core.variables.function_type_variable import FunctionTypeVariable
from slither.core.variables.state_variable import StateVariable
@@ -60,6 +65,7 @@ from slither.slithir.operations import (
Unary,
Unpack,
Nop,
+ Operation,
)
from slither.slithir.operations.codesize import CodeSize
from slither.slithir.tmp_operations.argument import Argument, ArgumentType
@@ -148,64 +154,111 @@ def is_gas(ins):
return False
-def get_sig(ir, name):
- """
- Return a list of potential signature
- It is a list, as Constant variables can be converted to int256
- Args:
- ir (slithIR.operation)
- Returns:
- list(str)
+def _fits_under_integer(val: int, can_be_int: bool, can_be_uint) -> List[str]:
"""
- sig = "{}({})"
+ Return the list of uint/int that can contain val
- # list of list of arguments
- argss = convert_arguments(ir.arguments)
- return [sig.format(name, ",".join(args)) for args in argss]
+ :param val:
+ :return:
+ """
+ ret: List[str] = []
+ n = 8
+ assert can_be_int | can_be_uint
+ while n <= 256:
+ if can_be_uint:
+ if val <= 2 ** n - 1:
+ ret.append(f"uint{n}")
+ if can_be_int:
+ if val <= (2 ** n) / 2 - 1:
+ ret.append(f"int{n}")
+ n = n + 8
+ return ret
-def get_canonical_names(ir, function_name, contract_name):
+def _fits_under_byte(val: Union[int, str]) -> List[str]:
"""
- Return a list of potential signature
- It is a list, as Constant variables can be converted to int256
- Args:
- ir (slithIR.operation)
- Returns:
- list(str)
+ Return the list of byte that can contain val
+
+ :param val:
+ :return:
"""
- sig = "{}({})"
- # list of list of arguments
- argss = convert_arguments(ir.arguments)
- return [sig.format(f"{contract_name}.{function_name}", ",".join(args)) for args in argss]
+ # If the value is written as an int, it can only be saved in one byte size
+ # If its a string, it can be fitted under multiple values
+
+ if isinstance(val, int):
+ hex_val = hex(val)[2:]
+ size = len(hex_val) // 2
+ return [f"byte{size}"]
+ # val is a str
+ length = len(val.encode("utf-8"))
+ return [f"byte{f}" for f in range(length, 32)]
+
+def _find_function_from_parameter(ir: Call, candidates: List[Function]) -> Optional[Function]:
+ """
+ Look for a function in candidates that can be the target of the ir's call
+
+ Try the implicit type conversion for uint/int/bytes. Constant values can be both uint/int
+ While variables stick to their base type, but can changed the size
-def convert_arguments(arguments):
- argss = [[]]
- for arg in arguments:
+ :param ir:
+ :param candidates:
+ :return:
+ """
+ arguments = ir.arguments
+ type_args: List[str]
+ for idx, arg in enumerate(arguments):
if isinstance(arg, (list,)):
- type_arg = "{}[{}]".format(get_type(arg[0].type), len(arg))
+ type_args = ["{}[{}]".format(get_type(arg[0].type), len(arg))]
elif isinstance(arg, Function):
- type_arg = arg.signature_str
- else:
- type_arg = get_type(arg.type)
- if isinstance(arg, Constant) and arg.type == ElementaryType("uint256"):
- # If it is a constant
- # We dupplicate the existing list
- # And we add uint256 and int256 cases
- # There is no potential collision, as the compiler
- # Prevent it with a
- # "not unique after argument-dependent loopkup" issue
- argss_new = [list(args) for args in argss]
- for args in argss:
- args.append(str(ElementaryType("uint256")))
- for args in argss_new:
- args.append(str(ElementaryType("int256")))
- argss = argss + argss_new
+ type_args = [arg.signature_str]
else:
- for args in argss:
- args.append(type_arg)
- return argss
+ type_args = [get_type(arg.type)]
+
+ if (
+ isinstance(arg.type, ElementaryType)
+ and arg.type.type in ElementaryTypeInt + Uint + Byte
+ ):
+ if isinstance(arg, Constant):
+ value = arg.value
+ can_be_uint = True
+ can_be_int = True
+ else:
+ value = MaxValues[arg.type.type]
+ can_be_uint = False
+ can_be_int = False
+ if arg.type.type in ElementaryTypeInt:
+ can_be_int = True
+ elif arg.type.type in Uint:
+ can_be_uint = True
+
+ if arg.type.type in ElementaryTypeInt + Uint:
+ type_args = _fits_under_integer(value, can_be_int, can_be_uint)
+ else:
+ print(value)
+ type_args = _fits_under_byte(value)
+
+ not_found = True
+ candidates_kept = []
+ for type_arg in type_args:
+ if not not_found:
+ break
+ candidates_kept = []
+ for candidate in candidates:
+ param = str(candidate.parameters[idx].type)
+
+ if param == type_arg:
+ not_found = False
+ candidates_kept.append(candidate)
+
+ if len(candidates_kept) == 1:
+ return candidates_kept[0]
+ candidates = candidates_kept
+
+ if len(candidates) == 1:
+ return candidates[0]
+ return None
def is_temporary(ins):
@@ -1205,17 +1258,34 @@ def get_type(t):
return str(t)
-def convert_type_library_call(ir, lib_contract):
- sigs = get_sig(ir, ir.function_name)
+def _can_be_implicitly_converted(source: str, target: str) -> bool:
+ if source in ElementaryTypeInt and target in ElementaryTypeInt:
+ return int(source[3:]) <= int(target[3:])
+ if source in Uint and target in Uint:
+ return int(source[4:]) <= int(target[4:])
+ return source == target
+
+
+def convert_type_library_call(ir: HighLevelCall, lib_contract: Contract):
func = None
- for sig in sigs:
- func = lib_contract.get_function_from_signature(sig)
- if not func:
- func = lib_contract.get_state_variable_from_name(ir.function_name)
- if func:
- # stop to explore if func is found (prevent dupplicate issue)
- break
+ candidates = [
+ f
+ for f in lib_contract.functions
+ if f.name == ir.function_name
+ and not f.is_shadowed
+ and len(f.parameters) == len(ir.arguments)
+ ]
+
+ if len(candidates) == 1:
+ func = candidates[0]
+ if func is None:
+ # TODO: handle collision with multiple state variables/functions
+ func = lib_contract.get_state_variable_from_name(ir.function_name)
+ if func is None and candidates:
+ func = _find_function_from_parameter(ir, candidates)
+
# In case of multiple binding to the same type
+ # TODO: this part might not be needed with _find_function_from_parameter
if not func:
# specific lookup when the compiler does implicit conversion
# for example
@@ -1282,36 +1352,39 @@ def _convert_to_structure_to_list(return_type: Type) -> List[Type]:
return [return_type.type]
-def convert_type_of_high_and_internal_level_call(ir, contract):
+def convert_type_of_high_and_internal_level_call(ir: Operation, contract: Contract):
func = None
if isinstance(ir, InternalCall):
- sigs = get_canonical_names(ir, ir.function_name, ir.contract_name)
- for sig in sigs:
- func = contract.get_function_from_canonical_name(sig)
- if func:
- # stop to explore if func is found (prevent dupplicate issue)
- break
+ candidates = [
+ f
+ for f in contract.functions
+ if f.name == ir.function_name
+ and f.contract_declarer.name == ir.contract_name
+ and len(f.parameters) == len(ir.arguments)
+ ]
+ func = _find_function_from_parameter(ir, candidates)
+
if not func:
func = contract.get_state_variable_from_name(ir.function_name)
else:
assert isinstance(ir, HighLevelCall)
- sigs = get_sig(ir, ir.function_name)
- for sig in sigs:
- func = contract.get_function_from_signature(sig)
- if func:
- # stop to explore if func is found (prevent dupplicate issue)
- break
- if not func:
+
+ candidates = [
+ f
+ for f in contract.functions
+ if f.name == ir.function_name
+ and not f.is_shadowed
+ and len(f.parameters) == len(ir.arguments)
+ ]
+
+ if len(candidates) == 1:
+ func = candidates[0]
+ if func is None:
+ # TODO: handle collision with multiple state variables/functions
func = contract.get_state_variable_from_name(ir.function_name)
- if not func:
- # specific lookup when the compiler does implicit conversion
- # for example
- # myFunc(uint)
- # can be called with an uint8
- for function in contract.functions:
- if function.name == ir.function_name and len(function.parameters) == len(ir.arguments):
- func = function
- break
+ if func is None and candidates:
+ func = _find_function_from_parameter(ir, candidates)
+
# lowlelvel lookup needs to be done at last step
if not func:
if can_be_low_level(ir):
@@ -1319,7 +1392,7 @@ def convert_type_of_high_and_internal_level_call(ir, contract):
if can_be_solidity_func(ir):
return convert_to_solidity_func(ir)
if not func:
- to_log = "Function not found {}".format(sig)
+ to_log = "Function not found {}".format(ir.function_name)
logger.error(to_log)
ir.function = func
if isinstance(func, Function):
diff --git a/slither/slithir/operations/library_call.py b/slither/slithir/operations/library_call.py
index d7c89a4de..45187b290 100644
--- a/slither/slithir/operations/library_call.py
+++ b/slither/slithir/operations/library_call.py
@@ -1,3 +1,4 @@
+from slither.core.declarations import Function
from slither.slithir.operations.high_level_call import HighLevelCall
from slither.core.declarations.contract import Contract
@@ -37,10 +38,15 @@ class LibraryCall(HighLevelCall):
else:
lvalue = "{}({}) = ".format(self.lvalue, self.lvalue.type)
txt = "{}LIBRARY_CALL, dest:{}, function:{}, arguments:{} {}"
+
+ function_name = self.function_name
+ if self.function:
+ if isinstance(self.function, Function):
+ function_name = self.function.canonical_name
return txt.format(
lvalue,
self.destination,
- self.function_name,
+ function_name,
[str(x) for x in arguments],
gas,
)
diff --git a/slither/slithir/variables/reference.py b/slither/slithir/variables/reference.py
index 8af3e85e7..c65dd061e 100644
--- a/slither/slithir/variables/reference.py
+++ b/slither/slithir/variables/reference.py
@@ -1,17 +1,19 @@
+from typing import TYPE_CHECKING
+
from slither.core.children.child_node import ChildNode
from slither.core.declarations import Contract, Enum, SolidityVariable, Function
from slither.core.variables.variable import Variable
+if TYPE_CHECKING:
+ from slither.core.cfg.node import Node
-class ReferenceVariable(ChildNode, Variable):
-
- COUNTER = 0
- def __init__(self, node, index=None):
+class ReferenceVariable(ChildNode, Variable):
+ def __init__(self, node: "Node", index=None):
super().__init__()
if index is None:
- self._index = ReferenceVariable.COUNTER
- ReferenceVariable.COUNTER += 1
+ self._index = node.slither.counter_slithir_reference
+ node.slither.counter_slithir_reference += 1
else:
self._index = index
self._points_to = None
diff --git a/slither/slithir/variables/temporary.py b/slither/slithir/variables/temporary.py
index 761d8f966..657c95803 100644
--- a/slither/slithir/variables/temporary.py
+++ b/slither/slithir/variables/temporary.py
@@ -1,16 +1,18 @@
+from typing import TYPE_CHECKING
+
from slither.core.children.child_node import ChildNode
from slither.core.variables.variable import Variable
+if TYPE_CHECKING:
+ from slither.core.cfg.node import Node
-class TemporaryVariable(ChildNode, Variable):
-
- COUNTER = 0
- def __init__(self, node, index=None):
+class TemporaryVariable(ChildNode, Variable):
+ def __init__(self, node: "Node", index=None):
super().__init__()
if index is None:
- self._index = TemporaryVariable.COUNTER
- TemporaryVariable.COUNTER += 1
+ self._index = node.slither.counter_slithir_temporary
+ node.slither.counter_slithir_temporary += 1
else:
self._index = index
self._node = node
diff --git a/slither/slithir/variables/tuple.py b/slither/slithir/variables/tuple.py
index 330545889..0931a8ab5 100644
--- a/slither/slithir/variables/tuple.py
+++ b/slither/slithir/variables/tuple.py
@@ -1,16 +1,18 @@
+from typing import TYPE_CHECKING
+
from slither.core.children.child_node import ChildNode
from slither.slithir.variables.variable import SlithIRVariable
+if TYPE_CHECKING:
+ from slither.core.cfg.node import Node
-class TupleVariable(ChildNode, SlithIRVariable):
-
- COUNTER = 0
- def __init__(self, node, index=None):
+class TupleVariable(ChildNode, SlithIRVariable):
+ def __init__(self, node: "Node", index=None):
super().__init__()
if index is None:
- self._index = TupleVariable.COUNTER
- TupleVariable.COUNTER += 1
+ self._index = node.slither.counter_slithir_tuple
+ node.slither.counter_slithir_tuple += 1
else:
self._index = index
diff --git a/slither/utils/command_line.py b/slither/utils/command_line.py
index 765bf93e0..50ea4c5aa 100644
--- a/slither/utils/command_line.py
+++ b/slither/utils/command_line.py
@@ -147,25 +147,27 @@ def convert_result_to_markdown(txt):
def output_results_to_markdown(all_results):
checks = defaultdict(list)
+ info = defaultdict(dict)
for results in all_results:
- checks[results["check"]].append(results["description"])
+ checks[results["check"]].append(results)
+ info[results["check"]] = {"impact": results["impact"], "confidence": results["confidence"]}
print("Summary")
for check in checks:
print(f" - [{check}](#{check}) ({len(checks[check])} results)")
+ counter = 0
for (check, results) in checks.items():
print(f"## {check}")
- print(
- """
-| Analyzed | Description |
-|----------------|-----------|"""
- )
+ print(f'Impact: {info[check]["impact"]}')
+ print(f'Confidence: {info[check]["confidence"]}')
for result in results:
- result_markdown = convert_result_to_markdown(result)
- print(
- f"|
| {result_markdown}"
- )
+ print(" - [ ] ID-" + f"{counter}")
+ counter = counter + 1
+ print(result["markdown"])
+ if result["first_markdown_element"]:
+ print(result["first_markdown_element"])
+ print("\n")
def output_wiki(detector_classes, filter_wiki):
diff --git a/slither/utils/output.py b/slither/utils/output.py
index f1ded8a38..0f9226388 100644
--- a/slither/utils/output.py
+++ b/slither/utils/output.py
@@ -236,6 +236,8 @@ class Output:
self._data["elements"] = []
self._data["description"] = "".join(_convert_to_description(d) for d in info)
self._data["markdown"] = "".join(_convert_to_markdown(d, markdown_root) for d in info)
+ self._data["first_markdown_element"] = ""
+ self._markdown_root = markdown_root
id_txt = "".join(_convert_to_id(d) for d in info)
self._data["id"] = hashlib.sha3_256(id_txt.encode("utf-8")).hexdigest()
@@ -250,6 +252,10 @@ class Output:
self._data["additional_fields"] = additional_fields
def add(self, add: SupportedOutput, additional_fields: Optional[Dict] = None):
+ if not self._data["first_markdown_element"]:
+ self._data["first_markdown_element"] = add.source_mapping_to_markdown(
+ self._markdown_root
+ )
if isinstance(add, Variable):
self.add_variable(add, additional_fields=additional_fields)
elif isinstance(add, Contract):
diff --git a/tests/ast-parsing/library_implicit_conversion-0.4.0.sol b/tests/ast-parsing/library_implicit_conversion-0.4.0.sol
new file mode 100644
index 000000000..97764c2c8
--- /dev/null
+++ b/tests/ast-parsing/library_implicit_conversion-0.4.0.sol
@@ -0,0 +1,4 @@
+// test only above 0.5
+contract C{
+
+}
diff --git a/tests/ast-parsing/library_implicit_conversion-0.5.0.sol b/tests/ast-parsing/library_implicit_conversion-0.5.0.sol
new file mode 100644
index 000000000..462615e19
--- /dev/null
+++ b/tests/ast-parsing/library_implicit_conversion-0.5.0.sol
@@ -0,0 +1,57 @@
+library LibByte{
+ function t(uint, bytes1) internal returns(uint){
+ return 0x1;
+ }
+ function t(uint, bytes32) internal returns(uint){
+ return 0x32;
+ }
+
+}
+
+
+contract TestByte{
+ using LibByte for uint;
+ function test() public returns(uint){
+ uint a;
+ return a.t(0x10); // for byte, this will match only bytes1
+ }
+}
+
+library LibUint{
+ function t(uint, uint8) internal returns(uint){
+ return 0x1;
+ }
+ function t(uint, uint256) internal returns(uint){
+ return 0x32;
+ }
+
+}
+
+contract TestUint{
+
+ using LibUint for uint;
+ function test() public returns(uint){
+ uint a;
+ return a.t(2**8); // above uint8
+ }
+}
+
+library LibInt{
+ function t(uint, int8) internal returns(uint){
+ return 0x1;
+ }
+ function t(uint, int256) internal returns(uint){
+ return 0x32;
+ }
+
+}
+
+contract TestUintWithVariableiAndConversion{
+
+ using LibInt for uint;
+ function test() public returns(uint){
+ uint a;
+ int16 v;
+ return a.t(v); // above uint8
+ }
+}
diff --git a/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json b/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json
index e17fd33b2..dde3da906 100644
--- a/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json
+++ b/tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json
@@ -4,19 +4,19 @@
"elements": [
{
"type": "function",
- "name": "bad1",
+ "name": "bad3",
"source_mapping": {
- "start": 726,
- "length": 63,
+ "start": 1076,
+ "length": 154,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 29,
- 30,
- 31
+ 39,
+ 40,
+ 41
],
"starting_column": 3,
"ending_column": 4
@@ -136,42 +136,42 @@
"ending_column": 2
}
},
- "signature": "bad1(A.S[3])"
+ "signature": "bad3()"
}
},
{
"type": "node",
- "name": "this.bad1_external(s)",
+ "name": "b = abi.encode(s)",
"source_mapping": {
- "start": 763,
- "length": 21,
+ "start": 1195,
+ "length": 30,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 30
+ 40
],
"starting_column": 5,
- "ending_column": 26
+ "ending_column": 35
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad1",
+ "name": "bad3",
"source_mapping": {
- "start": 726,
- "length": 63,
+ "start": 1076,
+ "length": 154,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 29,
- 30,
- 31
+ 39,
+ 40,
+ 41
],
"starting_column": 3,
"ending_column": 4
@@ -291,15 +291,16 @@
"ending_column": 2
}
},
- "signature": "bad1(A.S[3])"
+ "signature": "bad3()"
}
}
}
}
],
- "description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n",
- "markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n",
- "id": "3febdd98f71332c80290c9557c5ef89ea9dbea4f520a084b0307f21b00da5010",
+ "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n",
+ "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41",
+ "id": "0c50cf7f7b16d965ef04035beb09d25f3fa1fa4afeeb079ea42f2db879e8f1e9",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -308,19 +309,19 @@
"elements": [
{
"type": "function",
- "name": "bad3",
+ "name": "bad0",
"source_mapping": {
- "start": 1076,
- "length": 154,
+ "start": 540,
+ "length": 61,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 39,
- 40,
- 41
+ 21,
+ 22,
+ 23
],
"starting_column": 3,
"ending_column": 4
@@ -440,42 +441,42 @@
"ending_column": 2
}
},
- "signature": "bad3()"
+ "signature": "bad0()"
}
},
{
"type": "node",
- "name": "b = abi.encode(s)",
+ "name": "this.bad0_external(bad_arr)",
"source_mapping": {
- "start": 1195,
- "length": 30,
+ "start": 569,
+ "length": 27,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 40
+ 22
],
"starting_column": 5,
- "ending_column": 35
+ "ending_column": 32
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad3",
+ "name": "bad0",
"source_mapping": {
- "start": 1076,
- "length": 154,
+ "start": 540,
+ "length": 61,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 39,
- 40,
- 41
+ 21,
+ 22,
+ 23
],
"starting_column": 3,
"ending_column": 4
@@ -595,15 +596,16 @@
"ending_column": 2
}
},
- "signature": "bad3()"
+ "signature": "bad0()"
}
}
}
}
],
- "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n",
- "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n",
- "id": "0c50cf7f7b16d965ef04035beb09d25f3fa1fa4afeeb079ea42f2db879e8f1e9",
+ "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n",
+ "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23",
+ "id": "3752da45df0ba78cc9ac01a10b398e4ad74e6ddd572764cf2f361e523a43a998",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -612,19 +614,19 @@
"elements": [
{
"type": "function",
- "name": "bad4",
+ "name": "bad1",
"source_mapping": {
- "start": 1296,
- "length": 148,
+ "start": 726,
+ "length": 63,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 44,
- 45,
- 46
+ 29,
+ 30,
+ 31
],
"starting_column": 3,
"ending_column": 4
@@ -744,42 +746,42 @@
"ending_column": 2
}
},
- "signature": "bad4()"
+ "signature": "bad1(A.S[3])"
}
},
{
"type": "node",
- "name": "event1_bad(bad_arr)",
+ "name": "this.bad1_external(s)",
"source_mapping": {
- "start": 1415,
- "length": 24,
+ "start": 763,
+ "length": 21,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 45
+ 30
],
"starting_column": 5,
- "ending_column": 29
+ "ending_column": 26
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad4",
+ "name": "bad1",
"source_mapping": {
- "start": 1296,
- "length": 148,
+ "start": 726,
+ "length": 63,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 44,
- 45,
- 46
+ 29,
+ 30,
+ 31
],
"starting_column": 3,
"ending_column": 4
@@ -899,15 +901,16 @@
"ending_column": 2
}
},
- "signature": "bad4()"
+ "signature": "bad1(A.S[3])"
}
}
}
}
],
- "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n",
- "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n",
- "id": "144c77aebb4037fe38c2864892ecb888a4fb7d5e92e321e664b2d2226658a166",
+ "description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n",
+ "markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31",
+ "id": "3febdd98f71332c80290c9557c5ef89ea9dbea4f520a084b0307f21b00da5010",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -1211,6 +1214,7 @@
],
"description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50)\n",
"markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L50)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51",
"id": "e77767c95f4548636027a859ca0c63402cfb50af242f116dd3cfc5b038a4128e",
"check": "abiencoderv2-array",
"impact": "High",
@@ -1220,19 +1224,19 @@
"elements": [
{
"type": "function",
- "name": "bad0",
+ "name": "bad4",
"source_mapping": {
- "start": 540,
- "length": 61,
+ "start": 1296,
+ "length": 148,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 21,
- 22,
- 23
+ 44,
+ 45,
+ 46
],
"starting_column": 3,
"ending_column": 4
@@ -1352,42 +1356,42 @@
"ending_column": 2
}
},
- "signature": "bad0()"
+ "signature": "bad4()"
}
},
{
"type": "node",
- "name": "this.bad0_external(bad_arr)",
+ "name": "event1_bad(bad_arr)",
"source_mapping": {
- "start": 569,
- "length": 27,
+ "start": 1415,
+ "length": 24,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 22
+ 45
],
"starting_column": 5,
- "ending_column": 32
+ "ending_column": 29
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad0",
+ "name": "bad4",
"source_mapping": {
- "start": 540,
- "length": 61,
+ "start": 1296,
+ "length": 148,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 21,
- 22,
- 23
+ 44,
+ 45,
+ 46
],
"starting_column": 3,
"ending_column": 4
@@ -1507,15 +1511,16 @@
"ending_column": 2
}
},
- "signature": "bad0()"
+ "signature": "bad4()"
}
}
}
}
],
- "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n",
- "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n",
- "id": "3752da45df0ba78cc9ac01a10b398e4ad74e6ddd572764cf2f361e523a43a998",
+ "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n",
+ "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46",
+ "id": "144c77aebb4037fe38c2864892ecb888a4fb7d5e92e321e664b2d2226658a166",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -1819,6 +1824,7 @@
],
"description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35)\n",
"markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L35)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36",
"id": "d5860309d331920d1e3f44508fea706df75a4a7c2e93666ca96ca00ef32d7e01",
"check": "abiencoderv2-array",
"impact": "High",
diff --git a/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json b/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json
index 32e73918f..7b2480b97 100644
--- a/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json
+++ b/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json
@@ -4,19 +4,19 @@
"elements": [
{
"type": "function",
- "name": "bad5",
+ "name": "bad4",
"source_mapping": {
- "start": 1536,
- "length": 142,
+ "start": 1321,
+ "length": 148,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 49,
- 50,
- 51
+ 44,
+ 45,
+ 46
],
"starting_column": 3,
"ending_column": 4
@@ -136,42 +136,42 @@
"ending_column": 2
}
},
- "signature": "bad5()"
+ "signature": "bad4()"
}
},
{
"type": "node",
- "name": "event2_bad(s)",
+ "name": "event1_bad(bad_arr)",
"source_mapping": {
- "start": 1655,
- "length": 18,
+ "start": 1440,
+ "length": 24,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 50
+ 45
],
"starting_column": 5,
- "ending_column": 23
+ "ending_column": 29
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad5",
+ "name": "bad4",
"source_mapping": {
- "start": 1536,
- "length": 142,
+ "start": 1321,
+ "length": 148,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 49,
- 50,
- 51
+ 44,
+ 45,
+ 46
],
"starting_column": 3,
"ending_column": 4
@@ -291,15 +291,16 @@
"ending_column": 2
}
},
- "signature": "bad5()"
+ "signature": "bad4()"
}
}
}
}
],
- "description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#50)\n",
- "markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L50)\n",
- "id": "eeb6e1300bf8056da088cb4f3e2703471fee9fdca73774ce3643fb884954d216",
+ "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#45)\n",
+ "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L45)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L44-L46",
+ "id": "41b64698d5678d4095816d22b2d431371ca18801800bcf35b077e2675724a4e6",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -603,6 +604,7 @@
],
"description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#30)\n",
"markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L30)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L29-L31",
"id": "e432c7633b89e67459b76c1265a299e59fe6a651edd8888067df47200840451d",
"check": "abiencoderv2-array",
"impact": "High",
@@ -612,19 +614,19 @@
"elements": [
{
"type": "function",
- "name": "bad2",
+ "name": "bad3",
"source_mapping": {
- "start": 877,
- "length": 160,
+ "start": 1101,
+ "length": 154,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 34,
- 35,
- 36
+ 39,
+ 40,
+ 41
],
"starting_column": 3,
"ending_column": 4
@@ -744,42 +746,42 @@
"ending_column": 2
}
},
- "signature": "bad2()"
+ "signature": "bad3()"
}
},
{
"type": "node",
- "name": "b = abi.encode(bad_arr)",
+ "name": "b = abi.encode(s)",
"source_mapping": {
- "start": 996,
- "length": 36,
+ "start": 1220,
+ "length": 30,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 35
+ 40
],
"starting_column": 5,
- "ending_column": 41
+ "ending_column": 35
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad2",
+ "name": "bad3",
"source_mapping": {
- "start": 877,
- "length": 160,
+ "start": 1101,
+ "length": 154,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 34,
- 35,
- 36
+ 39,
+ 40,
+ 41
],
"starting_column": 3,
"ending_column": 4
@@ -899,15 +901,16 @@
"ending_column": 2
}
},
- "signature": "bad2()"
+ "signature": "bad3()"
}
}
}
}
],
- "description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#35)\n",
- "markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L35)\n",
- "id": "fb8e8ba854095891e3a490b43b126215858286a4a59902e7c63394a83befab0b",
+ "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#40)\n",
+ "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L40)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L39-L41",
+ "id": "3bda232f70109507c2cc575917cb69423e6d045e3b1d084ef881a411f54b2069",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -916,19 +919,19 @@
"elements": [
{
"type": "function",
- "name": "bad4",
+ "name": "bad5",
"source_mapping": {
- "start": 1321,
- "length": 148,
+ "start": 1536,
+ "length": 142,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 44,
- 45,
- 46
+ 49,
+ 50,
+ 51
],
"starting_column": 3,
"ending_column": 4
@@ -1048,42 +1051,42 @@
"ending_column": 2
}
},
- "signature": "bad4()"
+ "signature": "bad5()"
}
},
{
"type": "node",
- "name": "event1_bad(bad_arr)",
+ "name": "event2_bad(s)",
"source_mapping": {
- "start": 1440,
- "length": 24,
+ "start": 1655,
+ "length": 18,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 45
+ 50
],
"starting_column": 5,
- "ending_column": 29
+ "ending_column": 23
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad4",
+ "name": "bad5",
"source_mapping": {
- "start": 1321,
- "length": 148,
+ "start": 1536,
+ "length": 142,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 44,
- 45,
- 46
+ 49,
+ 50,
+ 51
],
"starting_column": 3,
"ending_column": 4
@@ -1203,15 +1206,16 @@
"ending_column": 2
}
},
- "signature": "bad4()"
+ "signature": "bad5()"
}
}
}
}
],
- "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#45)\n",
- "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L45)\n",
- "id": "41b64698d5678d4095816d22b2d431371ca18801800bcf35b077e2675724a4e6",
+ "description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#50)\n",
+ "markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L50)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L49-L51",
+ "id": "eeb6e1300bf8056da088cb4f3e2703471fee9fdca73774ce3643fb884954d216",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -1220,19 +1224,19 @@
"elements": [
{
"type": "function",
- "name": "bad3",
+ "name": "bad0",
"source_mapping": {
- "start": 1101,
- "length": 154,
+ "start": 549,
+ "length": 61,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 39,
- 40,
- 41
+ 21,
+ 22,
+ 23
],
"starting_column": 3,
"ending_column": 4
@@ -1352,42 +1356,42 @@
"ending_column": 2
}
},
- "signature": "bad3()"
+ "signature": "bad0()"
}
},
{
"type": "node",
- "name": "b = abi.encode(s)",
+ "name": "this.bad0_external(bad_arr)",
"source_mapping": {
- "start": 1220,
- "length": 30,
+ "start": 578,
+ "length": 27,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 40
+ 22
],
"starting_column": 5,
- "ending_column": 35
+ "ending_column": 32
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad3",
+ "name": "bad0",
"source_mapping": {
- "start": 1101,
- "length": 154,
+ "start": 549,
+ "length": 61,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 39,
- 40,
- 41
+ 21,
+ 22,
+ 23
],
"starting_column": 3,
"ending_column": 4
@@ -1507,15 +1511,16 @@
"ending_column": 2
}
},
- "signature": "bad3()"
+ "signature": "bad0()"
}
}
}
}
],
- "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#40)\n",
- "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L40)\n",
- "id": "3bda232f70109507c2cc575917cb69423e6d045e3b1d084ef881a411f54b2069",
+ "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#22)\n",
+ "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L21-L23",
+ "id": "f9335a48cb948e294b54605d1c63d61e863a824f3346be2db07c923896aafac0",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
@@ -1524,19 +1529,19 @@
"elements": [
{
"type": "function",
- "name": "bad0",
+ "name": "bad2",
"source_mapping": {
- "start": 549,
- "length": 61,
+ "start": 877,
+ "length": 160,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 21,
- 22,
- 23
+ 34,
+ 35,
+ 36
],
"starting_column": 3,
"ending_column": 4
@@ -1656,42 +1661,42 @@
"ending_column": 2
}
},
- "signature": "bad0()"
+ "signature": "bad2()"
}
},
{
"type": "node",
- "name": "this.bad0_external(bad_arr)",
+ "name": "b = abi.encode(bad_arr)",
"source_mapping": {
- "start": 578,
- "length": 27,
+ "start": 996,
+ "length": 36,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 22
+ 35
],
"starting_column": 5,
- "ending_column": 32
+ "ending_column": 41
},
"type_specific_fields": {
"parent": {
"type": "function",
- "name": "bad0",
+ "name": "bad2",
"source_mapping": {
- "start": 549,
- "length": 61,
+ "start": 877,
+ "length": 160,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol",
"is_dependency": false,
"lines": [
- 21,
- 22,
- 23
+ 34,
+ 35,
+ 36
],
"starting_column": 3,
"ending_column": 4
@@ -1811,15 +1816,16 @@
"ending_column": 2
}
},
- "signature": "bad0()"
+ "signature": "bad2()"
}
}
}
}
],
- "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#22)\n",
- "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L22)\n",
- "id": "f9335a48cb948e294b54605d1c63d61e863a824f3346be2db07c923896aafac0",
+ "description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#35)\n",
+ "markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L35)\n",
+ "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol#L34-L36",
+ "id": "fb8e8ba854095891e3a490b43b126215858286a4a59902e7c63394a83befab0b",
"check": "abiencoderv2-array",
"impact": "High",
"confidence": "High"
diff --git a/tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol.0.4.25.ArbitrarySend.json b/tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol.0.4.25.ArbitrarySend.json
index 9e1130404..54595becc 100644
--- a/tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol.0.4.25.ArbitrarySend.json
+++ b/tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol.0.4.25.ArbitrarySend.json
@@ -187,6 +187,7 @@
],
"description": "Test.direct() (tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#12)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#L11-L13",
"id": "477cc1ab9fa3d2263400e47d09146eaed3e478f5eecf7856b59d49a2a5093a1c",
"check": "arbitrary-send",
"impact": "High",
@@ -379,6 +380,7 @@
],
"description": "Test.indirect() (tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#20)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.4.25/arbitrary_send.sol#L19-L21",
"id": "4759805615df746a3d8a6c068ce885d2c18c46edf411f83ae004593958caafe7",
"check": "arbitrary-send",
"impact": "High",
diff --git a/tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol.0.5.16.ArbitrarySend.json b/tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol.0.5.16.ArbitrarySend.json
index 870a5ed67..cfb1bcc13 100644
--- a/tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol.0.5.16.ArbitrarySend.json
+++ b/tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol.0.5.16.ArbitrarySend.json
@@ -187,6 +187,7 @@
],
"description": "Test.direct() (tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#12)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#L11-L13",
"id": "9531cafd91af4d7b54f22fa933dae983077df1c51bd855c2516ffee812911f43",
"check": "arbitrary-send",
"impact": "High",
@@ -379,6 +380,7 @@
],
"description": "Test.indirect() (tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#20)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.5.16/arbitrary_send.sol#L19-L21",
"id": "f1395ebf21de9f8fb2c5d254c5990cce55b239c05a6a5e074813f58c6cd32834",
"check": "arbitrary-send",
"impact": "High",
diff --git a/tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol.0.6.11.ArbitrarySend.json b/tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol.0.6.11.ArbitrarySend.json
index a51b72abd..cde2f95aa 100644
--- a/tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol.0.6.11.ArbitrarySend.json
+++ b/tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol.0.6.11.ArbitrarySend.json
@@ -187,6 +187,7 @@
],
"description": "Test.direct() (tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#12)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#L11-L13",
"id": "8a1de239f630f10fef9ef6a9c439fc10aad2f6caba7ee43d1a7f7bacf6028f1e",
"check": "arbitrary-send",
"impact": "High",
@@ -379,6 +380,7 @@
],
"description": "Test.indirect() (tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#20)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.6.11/arbitrary_send.sol#L19-L21",
"id": "f272e05d9741895fc22051ed09afa6ce4af8ad4cd74b3452224dfb29eb4b9df6",
"check": "arbitrary-send",
"impact": "High",
diff --git a/tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol.0.7.6.ArbitrarySend.json b/tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol.0.7.6.ArbitrarySend.json
index f2b630eb6..a87969ad5 100644
--- a/tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol.0.7.6.ArbitrarySend.json
+++ b/tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol.0.7.6.ArbitrarySend.json
@@ -187,6 +187,7 @@
],
"description": "Test.direct() (tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#11-13) sends eth to arbitrary user\n\tDangerous calls:\n\t- msg.sender.send(address(this).balance) (tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#12)\n",
"markdown": "[Test.direct()](tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#L11-L13) sends eth to arbitrary user\n\tDangerous calls:\n\t- [msg.sender.send(address(this).balance)](tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#L11-L13",
"id": "90d9178119fb586af18c2298136d7f1af4d33a9b702b94d2ca0fcdbe6ee783c6",
"check": "arbitrary-send",
"impact": "High",
@@ -379,6 +380,7 @@
],
"description": "Test.indirect() (tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#19-21) sends eth to arbitrary user\n\tDangerous calls:\n\t- destination.send(address(this).balance) (tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#20)\n",
"markdown": "[Test.indirect()](tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#L19-L21) sends eth to arbitrary user\n\tDangerous calls:\n\t- [destination.send(address(this).balance)](tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/arbitrary-send/0.7.6/arbitrary_send.sol#L19-L21",
"id": "3bf41470de6f5fec21d1da5741e7d63ee1d3b63cfd2646d697274f4495e3f1a9",
"check": "arbitrary-send",
"impact": "High",
diff --git a/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json b/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json
index 322f54fb9..c6ed351f1 100644
--- a/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json
+++ b/tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json
@@ -211,6 +211,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference",
"impact": "High",
@@ -428,6 +429,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference",
"impact": "High",
@@ -671,6 +673,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference",
"impact": "High",
@@ -915,6 +918,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference",
"impact": "High",
@@ -1119,6 +1123,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference",
"impact": "High",
@@ -1324,6 +1329,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference",
"impact": "High",
diff --git a/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json b/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json
index 185922283..724e17bf2 100644
--- a/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json
+++ b/tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json
@@ -211,6 +211,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference",
"impact": "High",
@@ -428,6 +429,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference",
"impact": "High",
@@ -671,6 +673,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference",
"impact": "High",
@@ -915,6 +918,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference",
"impact": "High",
@@ -1119,6 +1123,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference",
"impact": "High",
@@ -1324,6 +1329,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference",
"impact": "High",
diff --git a/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json b/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json
index 6e9fdeb42..c6dcc82f8 100644
--- a/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json
+++ b/tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json
@@ -211,6 +211,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference",
"impact": "High",
@@ -428,6 +429,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference",
"impact": "High",
@@ -671,6 +673,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference",
"impact": "High",
@@ -915,6 +918,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference",
"impact": "High",
@@ -1119,6 +1123,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference",
"impact": "High",
@@ -1324,6 +1329,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference",
"impact": "High",
diff --git a/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json b/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json
index 356a84b95..65bea0e79 100644
--- a/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json
+++ b/tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json
@@ -211,6 +211,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8",
"id": "79a462bf06ae529ad099f2170100298da30766fcc06884e03436d2b53110d208",
"check": "array-by-reference",
"impact": "High",
@@ -428,6 +429,7 @@
],
"description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8",
"id": "7f1eda9be40002affd2e8e31d172d3ee3374f37b1106118c79f4add7a133bbd0",
"check": "array-by-reference",
"impact": "High",
@@ -671,6 +673,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15",
"id": "d039169712808e785bf2e53f322c1c6fcd6b93a0a0c17f1a701addd09ed83996",
"check": "array-by-reference",
"impact": "High",
@@ -915,6 +918,7 @@
],
"description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15",
"id": "8655e8acd84a6e8152acd2d9730ea0dfdda0723e09b2dcbfdbbeb8da8bd04fa5",
"check": "array-by-reference",
"impact": "High",
@@ -1119,6 +1123,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48",
"id": "1520955a53c36e391abbaf648a91a5a12d432f0f4746b0a8187d0988a6a66846",
"check": "array-by-reference",
"impact": "High",
@@ -1324,6 +1329,7 @@
],
"description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n",
"markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n",
+ "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48",
"id": "019912974eabe7e8b1e67ca05b342e5106de13fa93fa0adf599a4259c425bd54",
"check": "array-by-reference",
"impact": "High",
diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json b/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json
index ce12d6461..8d725d86b 100644
--- a/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json
+++ b/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json
@@ -176,6 +176,7 @@
],
"description": "GetCode.at(address) (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#7-20)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L7-L20)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20",
"id": "37ca62e9af93d1648d3a1aa845426ec5395eab836277e3a8baa52621bf1df7c3",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json b/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json
index 828a2eb70..60e9aa8e6 100644
--- a/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json
+++ b/tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json
@@ -204,6 +204,7 @@
],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#18-21)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L18-L21)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22",
"id": "7009ef6498fa29901fbf3e9e1971a19f6fa48c87be3b2592c632e05a4321e1d3",
"check": "assembly",
"impact": "Informational",
@@ -463,6 +464,7 @@
],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#26-47)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L26-L47)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47",
"id": "e6c5e2eab9e98c206f4092988fc006a6333e737680610667cba168fe739a3cf6",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json b/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json
index 868a4fc18..6f8367251 100644
--- a/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json
+++ b/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json
@@ -175,6 +175,7 @@
],
"description": "GetCode.at(address) (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#7-19)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L7-L19)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20",
"id": "ac5f8f89c2d7459785200d5d861616e04a1bbcfbb2a39cef8bef6a03222c7c21",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json b/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json
index 4f656370b..66296b37f 100644
--- a/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json
+++ b/tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json
@@ -203,6 +203,7 @@
],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#18-20)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L18-L20)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22",
"id": "abf9dce26719358da77702aa40f23104cc83044d0b1cffb492e318360fb72b6f",
"check": "assembly",
"impact": "Informational",
@@ -461,6 +462,7 @@
],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#26-46)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L26-L46)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47",
"id": "c0078585e7d2fe02dda5ea48ddb48b40916db51afbee078f77bea648d1aa0315",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json b/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json
index d6a49a668..7a1d62849 100644
--- a/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json
+++ b/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json
@@ -175,6 +175,7 @@
],
"description": "GetCode.at(address) (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#5-17)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L5-L17)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18",
"id": "00e51f7f223289ebaad73cd6e77329b37ff5be360d9a682614cb6b72b8e3d9b4",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json b/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json
index 419567a47..95e4a9ebc 100644
--- a/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json
+++ b/tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json
@@ -203,6 +203,7 @@
],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#16-18)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L16-L18)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20",
"id": "a8d71513166310212c49c4edecbdf8fbc3040b1cb5b5756f0ad1971ae7d4cdb1",
"check": "assembly",
"impact": "Informational",
@@ -461,6 +462,7 @@
],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#24-44)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L24-L44)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45",
"id": "5964c7440a9efb78bf78544bcdc60c789e3d9dff73438108bcb07ac98d60876a",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json b/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json
index 0d9af7ef9..fd697b12c 100644
--- a/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json
+++ b/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json
@@ -175,6 +175,7 @@
],
"description": "GetCode.at(address) (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#5-17)\n",
"markdown": "[GetCode.at(address)](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L5-L17)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18",
"id": "3b2ace4ab64f4fdd4436ae22d38a7db3efe8d2b65dca270af7fb18f281323670",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json b/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json
index 7f523bc9c..a0f88f577 100644
--- a/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json
+++ b/tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json
@@ -203,6 +203,7 @@
],
"description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#16-18)\n",
"markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L16-L18)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20",
"id": "a83582beb2c0460617fa82fbdfc38a050004e285749b17141b63e8051062248b",
"check": "assembly",
"impact": "Informational",
@@ -461,6 +462,7 @@
],
"description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#24-44)\n",
"markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L24-L44)\n",
+ "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45",
"id": "5cafb3e9d7d87c17203cf2c296eeec7de6b774b2a8d71908f8cfc9b8d916cb4b",
"check": "assembly",
"impact": "Informational",
diff --git a/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json b/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json
index b3c8084ff..c12612b52 100644
--- a/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json
+++ b/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json
@@ -183,6 +183,7 @@
],
"description": "A.bad0() (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8",
"id": "a01104ede08ddc5107a2d63d851930d477642029aeef70d6cb44eb2a640b282a",
"check": "assert-state-change",
"impact": "Informational",
@@ -371,6 +372,7 @@
],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13",
"id": "849934acf882563bb79caed681f16909f03795bbbbe8338455d104d66a52314c",
"check": "assert-state-change",
"impact": "Informational",
@@ -559,6 +561,7 @@
],
"description": "A.bad2() (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21",
"id": "47c8c39b084f8d339822d44f892cb049c1a3834f52fd48d2dcef80bac56996a3",
"check": "assert-state-change",
"impact": "Informational",
diff --git a/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json b/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json
index eed136381..4a8bd498b 100644
--- a/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json
+++ b/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json
@@ -183,6 +183,7 @@
],
"description": "A.bad0() (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8",
"id": "ed7344e23d057576887c7e524b215bd0b52464ce035f686bab51b271460e43a0",
"check": "assert-state-change",
"impact": "Informational",
@@ -371,6 +372,7 @@
],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13",
"id": "ea912d34e8adabfd2ce93ecd5723df8d2e7ebec7e66de5fc56f3304c780488b3",
"check": "assert-state-change",
"impact": "Informational",
@@ -559,6 +561,7 @@
],
"description": "A.bad2() (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21",
"id": "feb1fef411c094fe2d2dac33e4932217dd550b8a89548417ef8a4da2fe99eea2",
"check": "assert-state-change",
"impact": "Informational",
diff --git a/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json b/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json
index a031f708c..32198c56d 100644
--- a/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json
+++ b/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json
@@ -183,6 +183,7 @@
],
"description": "A.bad0() (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8",
"id": "5b8574d24925d841b9f041ba70166cc219ea6bcdd06c27d2f570740722b38380",
"check": "assert-state-change",
"impact": "Informational",
@@ -371,6 +372,7 @@
],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13",
"id": "c27ede68d9d7c6159032f3aef6bf9fa491390317da33307fa783a93c1b675bd7",
"check": "assert-state-change",
"impact": "Informational",
@@ -559,6 +561,7 @@
],
"description": "A.bad2() (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21",
"id": "6f4b2360043bf3035cc152b583d3462d8cc98e91de8577091fe3a0af569d5285",
"check": "assert-state-change",
"impact": "Informational",
diff --git a/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json b/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json
index 6ccafe8b3..e54d92406 100644
--- a/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json
+++ b/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json
@@ -183,6 +183,7 @@
],
"description": "A.bad0() (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#6-8) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += 1) > 10) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#7)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad0()](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += 1) > 10)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L7)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8",
"id": "a710d11e5510f0eb3acb2c1ec524779253f25bf2931bce4cb9c5c048ec586b80",
"check": "assert-state-change",
"impact": "Informational",
@@ -371,6 +372,7 @@
],
"description": "A.bad1(uint256) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#11-13) has an assert() call which possibly changes state.\n\t-assert(bool)((s_a += a) > 10) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#12)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad1(uint256)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13) has an assert() call which possibly changes state.\n\t-[assert(bool)((s_a += a) > 10)](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L12)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13",
"id": "60ad080e2f9647b400851918171383a9aac2900cc0828121e441db4240911fba",
"check": "assert-state-change",
"impact": "Informational",
@@ -559,6 +561,7 @@
],
"description": "A.bad2() (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#19-21) has an assert() call which possibly changes state.\n\t-assert(bool)(bad2_callee()) (tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#20)\nConsider using require() or change the invariant to not modify the state.\n",
"markdown": "[A.bad2()](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21) has an assert() call which possibly changes state.\n\t-[assert(bool)(bad2_callee())](tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L20)\nConsider using require() or change the invariant to not modify the state.\n",
+ "first_markdown_element": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21",
"id": "4b31923b05dec7d68f1bf133b986b4ec06fcc82ff3b8f0414d3ee3d623b69265",
"check": "assert-state-change",
"impact": "Informational",
diff --git a/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json b/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json
index 14f4539df..95c5aed84 100644
--- a/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json
+++ b/tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json
@@ -52,6 +52,7 @@
],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.4.25/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6)\n",
+ "first_markdown_element": "tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor",
"impact": "High",
diff --git a/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json b/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json
index 3e46dadf6..472b893c3 100644
--- a/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json
+++ b/tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json
@@ -52,6 +52,7 @@
],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.5.16/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6)\n",
+ "first_markdown_element": "tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor",
"impact": "High",
diff --git a/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json b/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json
index fa492e30a..d9566dfe1 100644
--- a/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json
+++ b/tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json
@@ -52,6 +52,7 @@
],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.6.11/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6)\n",
+ "first_markdown_element": "tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor",
"impact": "High",
diff --git a/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json b/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json
index 8639812fb..51c92134c 100644
--- a/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json
+++ b/tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json
@@ -52,6 +52,7 @@
],
"description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.7.6/backdoor.sol#4-6)\n",
"markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6)\n",
+ "first_markdown_element": "tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6",
"id": "8a9008f2f5cd23b34feb0235dcc30ecb8d09a10eff151b522939caead117ef7a",
"check": "backdoor",
"impact": "High",
diff --git a/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json
index 2dc688704..32bf74925 100644
--- a/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json
+++ b/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json
@@ -199,6 +199,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11",
"id": "4b8abd9aa6870f3044de67a84b3139e4a79c9ac13b4c0ed4f0772713f12c709b",
"check": "boolean-cst",
"impact": "Medium",
diff --git a/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json
index 94bf5d0d6..74545a2af 100644
--- a/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json
+++ b/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json
@@ -199,6 +199,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11",
"id": "bd4514763d71bc7fcb2a681b1fe98928e9d1dd92882c5fe0480e52cba9130cfe",
"check": "boolean-cst",
"impact": "Medium",
diff --git a/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json
index 62425f97a..1f1dea17f 100644
--- a/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json
+++ b/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json
@@ -199,6 +199,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11",
"id": "81067a443028f22790f44718bff947b7ec6de12b929bd89147d3b34044b3890d",
"check": "boolean-cst",
"impact": "Medium",
diff --git a/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json b/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json
index 835d09fb7..579486229 100644
--- a/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json
+++ b/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json
@@ -199,6 +199,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#10)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11",
"id": "d96572f8601700902d157c2b4ad0b66254eba7a6d9c83710f26ea8cbdf2085fa",
"check": "boolean-cst",
"impact": "Medium",
diff --git a/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json b/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json
index fb6f0efc5..350f4d9d0 100644
--- a/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json
+++ b/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json
@@ -161,6 +161,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9",
"id": "55ba7d7edfd3cc9012d1fbd9d2ba12a488d950a885c3664fe080b90288a2c715",
"check": "boolean-equal",
"impact": "Informational",
diff --git a/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json b/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json
index e92f0ba00..7d1a884aa 100644
--- a/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json
+++ b/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json
@@ -161,6 +161,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9",
"id": "be01fe651d102dc47ca3eb623ba9078138896f662948665b8d4e03780305c085",
"check": "boolean-equal",
"impact": "Informational",
diff --git a/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json b/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json
index eb9f63301..51d66946a 100644
--- a/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json
+++ b/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json
@@ -161,6 +161,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9",
"id": "0f863694c7b456673256b0f8002c9ac9f050b89b9ec3c86936c6399b3eb4b2e1",
"check": "boolean-equal",
"impact": "Informational",
diff --git a/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json b/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json
index 0b863a5f4..22041adaa 100644
--- a/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json
+++ b/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json
@@ -161,6 +161,7 @@
],
"description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#8)\n",
"markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9",
"id": "7c89c8f828e73eb875b8f06bb1404ed2271cc5806f167d621604c23f62705f60",
"check": "boolean-equal",
"impact": "Informational",
diff --git a/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json
index 151351f60..24d076b50 100644
--- a/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json
+++ b/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json
@@ -139,6 +139,7 @@
],
"description": "CallInLoop.bad() (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: destinations[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#11)\n",
"markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [destinations[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13",
"id": "997dd7de40b82c6ac8e98324329bd99f827ed067c22d5b508b2e56c87ad49c0a",
"check": "calls-loop",
"impact": "Low",
diff --git a/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json
index 11fc8491a..1fd0288f2 100644
--- a/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json
+++ b/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json
@@ -139,6 +139,7 @@
],
"description": "CallInLoop.bad() (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#11)\n",
"markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13",
"id": "47b82a76ee810d93f014f425eefea8adbb806036dfee401a9883b1aa3ca85c44",
"check": "calls-loop",
"impact": "Low",
diff --git a/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json
index 705c74995..4e078cabd 100644
--- a/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json
+++ b/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json
@@ -139,6 +139,7 @@
],
"description": "CallInLoop.bad() (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#11)\n",
"markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13",
"id": "f7fa2b373fe4eb9207d3ed267d99d7ca34ec7d786898816bc113c3e20079a411",
"check": "calls-loop",
"impact": "Low",
diff --git a/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json b/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json
index 6381a802d..67c6e36ac 100644
--- a/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json
+++ b/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json
@@ -139,6 +139,7 @@
],
"description": "CallInLoop.bad() (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: address(uint160(destinations[i])).transfer(i) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#11)\n",
"markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [address(uint160(destinations[i])).transfer(i)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13",
"id": "c06ed4f7f79cddc5fbc2f828500766cab0a6d18b262a0f8e9c227cef7e6607df",
"check": "calls-loop",
"impact": "Low",
diff --git a/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.ConstCandidateStateVars.json b/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.ConstCandidateStateVars.json
index 55846237b..eda067155 100644
--- a/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.ConstCandidateStateVars.json
+++ b/tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.ConstCandidateStateVars.json
@@ -60,6 +60,7 @@
],
"description": "A.myFriendsAddress (tests/detectors/constable-states/0.4.25/const_state_variables.sol#7) should be constant\n",
"markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L7) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L7",
"id": "1454db80653b732bf6acbe54ff0ae4707002207a2a8216708c12d61c88a43e5f",
"check": "constable-states",
"impact": "Optimization",
@@ -125,6 +126,7 @@
],
"description": "A.test (tests/detectors/constable-states/0.4.25/const_state_variables.sol#10) should be constant\n",
"markdown": "[A.test](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L10) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L10",
"id": "5d9e3fb413322b71a93e90f7e89bd8c83cd4884d577d039598c681fe9db38b1d",
"check": "constable-states",
"impact": "Optimization",
@@ -190,6 +192,7 @@
],
"description": "A.text2 (tests/detectors/constable-states/0.4.25/const_state_variables.sol#14) should be constant\n",
"markdown": "[A.text2](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L14) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L14",
"id": "df11e6201c4558a8c5cd90b55b134b9ca8f07203b2264d3aa93bd7745e8cb4ba",
"check": "constable-states",
"impact": "Optimization",
@@ -251,6 +254,7 @@
],
"description": "B.mySistersAddress (tests/detectors/constable-states/0.4.25/const_state_variables.sol#26) should be constant\n",
"markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L26) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L26",
"id": "bee93a722c8eae4a48aade67d8ef537d84c106f48fc9eb738c795fce10d3bc63",
"check": "constable-states",
"impact": "Optimization",
@@ -312,6 +316,7 @@
],
"description": "MyConc.should_be_constant (tests/detectors/constable-states/0.4.25/const_state_variables.sol#42) should be constant\n",
"markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L42) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L42",
"id": "cbcafa2a3efba4d21ac1b51b4b823e5082d556bc3d6cf3fd2ab3188f9f218fc1",
"check": "constable-states",
"impact": "Optimization",
@@ -373,6 +378,7 @@
],
"description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.4.25/const_state_variables.sol#43) should be constant\n",
"markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L43) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L43",
"id": "9a48a4122de1a6a4774a9f1e0d4917bd0fa08f17b4af41b86ba07689e51bf711",
"check": "constable-states",
"impact": "Optimization",
diff --git a/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.ConstCandidateStateVars.json b/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.ConstCandidateStateVars.json
index d13d11be4..2850554d5 100644
--- a/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.ConstCandidateStateVars.json
+++ b/tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.ConstCandidateStateVars.json
@@ -60,6 +60,7 @@
],
"description": "A.myFriendsAddress (tests/detectors/constable-states/0.5.16/const_state_variables.sol#7) should be constant\n",
"markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L7) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L7",
"id": "1454db80653b732bf6acbe54ff0ae4707002207a2a8216708c12d61c88a43e5f",
"check": "constable-states",
"impact": "Optimization",
@@ -125,6 +126,7 @@
],
"description": "A.test (tests/detectors/constable-states/0.5.16/const_state_variables.sol#10) should be constant\n",
"markdown": "[A.test](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L10) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L10",
"id": "5d9e3fb413322b71a93e90f7e89bd8c83cd4884d577d039598c681fe9db38b1d",
"check": "constable-states",
"impact": "Optimization",
@@ -190,6 +192,7 @@
],
"description": "A.text2 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#14) should be constant\n",
"markdown": "[A.text2](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L14) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L14",
"id": "df11e6201c4558a8c5cd90b55b134b9ca8f07203b2264d3aa93bd7745e8cb4ba",
"check": "constable-states",
"impact": "Optimization",
@@ -251,6 +254,7 @@
],
"description": "B.mySistersAddress (tests/detectors/constable-states/0.5.16/const_state_variables.sol#26) should be constant\n",
"markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L26) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L26",
"id": "bee93a722c8eae4a48aade67d8ef537d84c106f48fc9eb738c795fce10d3bc63",
"check": "constable-states",
"impact": "Optimization",
@@ -312,6 +316,7 @@
],
"description": "MyConc.should_be_constant (tests/detectors/constable-states/0.5.16/const_state_variables.sol#42) should be constant\n",
"markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L42) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L42",
"id": "cbcafa2a3efba4d21ac1b51b4b823e5082d556bc3d6cf3fd2ab3188f9f218fc1",
"check": "constable-states",
"impact": "Optimization",
@@ -373,6 +378,7 @@
],
"description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#43) should be constant\n",
"markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L43) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L43",
"id": "9a48a4122de1a6a4774a9f1e0d4917bd0fa08f17b4af41b86ba07689e51bf711",
"check": "constable-states",
"impact": "Optimization",
diff --git a/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.ConstCandidateStateVars.json b/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.ConstCandidateStateVars.json
index 18dab7462..f8abb572e 100644
--- a/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.ConstCandidateStateVars.json
+++ b/tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.ConstCandidateStateVars.json
@@ -60,6 +60,7 @@
],
"description": "A.myFriendsAddress (tests/detectors/constable-states/0.6.11/const_state_variables.sol#7) should be constant\n",
"markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L7) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L7",
"id": "1454db80653b732bf6acbe54ff0ae4707002207a2a8216708c12d61c88a43e5f",
"check": "constable-states",
"impact": "Optimization",
@@ -125,6 +126,7 @@
],
"description": "A.test (tests/detectors/constable-states/0.6.11/const_state_variables.sol#10) should be constant\n",
"markdown": "[A.test](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L10) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L10",
"id": "5d9e3fb413322b71a93e90f7e89bd8c83cd4884d577d039598c681fe9db38b1d",
"check": "constable-states",
"impact": "Optimization",
@@ -190,6 +192,7 @@
],
"description": "A.text2 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#14) should be constant\n",
"markdown": "[A.text2](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L14) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L14",
"id": "df11e6201c4558a8c5cd90b55b134b9ca8f07203b2264d3aa93bd7745e8cb4ba",
"check": "constable-states",
"impact": "Optimization",
@@ -251,6 +254,7 @@
],
"description": "B.mySistersAddress (tests/detectors/constable-states/0.6.11/const_state_variables.sol#26) should be constant\n",
"markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L26) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L26",
"id": "bee93a722c8eae4a48aade67d8ef537d84c106f48fc9eb738c795fce10d3bc63",
"check": "constable-states",
"impact": "Optimization",
@@ -312,6 +316,7 @@
],
"description": "MyConc.should_be_constant (tests/detectors/constable-states/0.6.11/const_state_variables.sol#42) should be constant\n",
"markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L42) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L42",
"id": "cbcafa2a3efba4d21ac1b51b4b823e5082d556bc3d6cf3fd2ab3188f9f218fc1",
"check": "constable-states",
"impact": "Optimization",
@@ -373,6 +378,7 @@
],
"description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#43) should be constant\n",
"markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L43) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L43",
"id": "9a48a4122de1a6a4774a9f1e0d4917bd0fa08f17b4af41b86ba07689e51bf711",
"check": "constable-states",
"impact": "Optimization",
diff --git a/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.ConstCandidateStateVars.json b/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.ConstCandidateStateVars.json
index bd7ce7420..06c372051 100644
--- a/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.ConstCandidateStateVars.json
+++ b/tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.ConstCandidateStateVars.json
@@ -60,6 +60,7 @@
],
"description": "A.myFriendsAddress (tests/detectors/constable-states/0.7.6/const_state_variables.sol#7) should be constant\n",
"markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L7) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L7",
"id": "1454db80653b732bf6acbe54ff0ae4707002207a2a8216708c12d61c88a43e5f",
"check": "constable-states",
"impact": "Optimization",
@@ -125,6 +126,7 @@
],
"description": "A.test (tests/detectors/constable-states/0.7.6/const_state_variables.sol#10) should be constant\n",
"markdown": "[A.test](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L10) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L10",
"id": "5d9e3fb413322b71a93e90f7e89bd8c83cd4884d577d039598c681fe9db38b1d",
"check": "constable-states",
"impact": "Optimization",
@@ -190,6 +192,7 @@
],
"description": "A.text2 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#14) should be constant\n",
"markdown": "[A.text2](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L14) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L14",
"id": "df11e6201c4558a8c5cd90b55b134b9ca8f07203b2264d3aa93bd7745e8cb4ba",
"check": "constable-states",
"impact": "Optimization",
@@ -251,6 +254,7 @@
],
"description": "B.mySistersAddress (tests/detectors/constable-states/0.7.6/const_state_variables.sol#26) should be constant\n",
"markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L26) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L26",
"id": "bee93a722c8eae4a48aade67d8ef537d84c106f48fc9eb738c795fce10d3bc63",
"check": "constable-states",
"impact": "Optimization",
@@ -312,6 +316,7 @@
],
"description": "MyConc.should_be_constant (tests/detectors/constable-states/0.7.6/const_state_variables.sol#42) should be constant\n",
"markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L42) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L42",
"id": "cbcafa2a3efba4d21ac1b51b4b823e5082d556bc3d6cf3fd2ab3188f9f218fc1",
"check": "constable-states",
"impact": "Optimization",
@@ -373,6 +378,7 @@
],
"description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#43) should be constant\n",
"markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L43) should be constant\n",
+ "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L43",
"id": "9a48a4122de1a6a4774a9f1e0d4917bd0fa08f17b4af41b86ba07689e51bf711",
"check": "constable-states",
"impact": "Optimization",
diff --git a/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json b/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json
index b51a91448..d3073b6c2 100644
--- a/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json
+++ b/tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json
@@ -70,6 +70,7 @@
],
"description": "Constant.test_assembly_bug() (tests/detectors/constant-function-asm/0.4.25/constant.sol#22-24) is declared view but contains assembly code\n",
"markdown": "[Constant.test_assembly_bug()](tests/detectors/constant-function-asm/0.4.25/constant.sol#L22-L24) is declared view but contains assembly code\n",
+ "first_markdown_element": "tests/detectors/constant-function-asm/0.4.25/constant.sol#L22-L24",
"id": "1f892cae08b89096bdc4d6ecdf55a3adc4b4314390e054fe2547d9c8e9f76e23",
"additional_fields": {
"contains_assembly": true
diff --git a/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json b/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json
index c8d8db0f5..6c948ac12 100644
--- a/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json
+++ b/tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json
@@ -132,6 +132,7 @@
],
"description": "Constant.test_view_bug() (tests/detectors/constant-function-state/0.4.25/constant.sol#5-7) is declared view but changes state variables:\n\t- Constant.a (tests/detectors/constant-function-state/0.4.25/constant.sol#3)\n",
"markdown": "[Constant.test_view_bug()](tests/detectors/constant-function-state/0.4.25/constant.sol#L5-L7) is declared view but changes state variables:\n\t- [Constant.a](tests/detectors/constant-function-state/0.4.25/constant.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/constant-function-state/0.4.25/constant.sol#L5-L7",
"id": "4dee61d8835d20c6f1f7c195d8bd1e9de5dbcc096396a5b8db391136f9f5fdf1",
"additional_fields": {
"contains_assembly": false
@@ -272,6 +273,7 @@
],
"description": "Constant.test_constant_bug() (tests/detectors/constant-function-state/0.4.25/constant.sol#9-11) is declared view but changes state variables:\n\t- Constant.a (tests/detectors/constant-function-state/0.4.25/constant.sol#3)\n",
"markdown": "[Constant.test_constant_bug()](tests/detectors/constant-function-state/0.4.25/constant.sol#L9-L11) is declared view but changes state variables:\n\t- [Constant.a](tests/detectors/constant-function-state/0.4.25/constant.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/constant-function-state/0.4.25/constant.sol#L9-L11",
"id": "145e2d34dfc5b932c8d67d480c0eaec9baa8c728e2a310529572c0c4a5c6046a",
"additional_fields": {
"contains_assembly": false
diff --git a/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json b/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json
index 9dff96a8d..94fc909e0 100644
--- a/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json
+++ b/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json
@@ -195,6 +195,7 @@
],
"description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- arr.length = param (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#26)\n",
"markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [arr.length = param](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L26)\n",
+ "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46",
"id": "13e0633277a811f9416912f4404d805c1aaaaaacbc94989215c41de964718b0b",
"check": "controlled-array-length",
"impact": "High",
@@ -395,6 +396,7 @@
],
"description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#36)\n",
"markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L36)\n",
+ "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46",
"id": "f455c672028771f21282b59fb58b5eac51185eae4ac44e65a2e1f4df6db0c6e4",
"check": "controlled-array-length",
"impact": "High",
@@ -595,6 +597,7 @@
],
"description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#41)\n",
"markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L41)\n",
+ "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46",
"id": "82175a5c24c40a1afe4c59f4271a2c12e577ad25e89e6e319e47b4f8f2a76943",
"check": "controlled-array-length",
"impact": "High",
diff --git a/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json b/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json
index 105c35a3e..23ff3a166 100644
--- a/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json
+++ b/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json
@@ -195,6 +195,7 @@
],
"description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- arr.length = param (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#26)\n",
"markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [arr.length = param](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L26)\n",
+ "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46",
"id": "5120add82e5b674971638ddcd430301e4fd0ff0abc12b425d78bb09baa519dd0",
"check": "controlled-array-length",
"impact": "High",
@@ -267,20 +268,20 @@
},
{
"type": "node",
- "name": "b.subStruct.x.length = param + 1",
+ "name": "a.x.length = param",
"source_mapping": {
- "start": 964,
- "length": 32,
+ "start": 818,
+ "length": 18,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol",
"is_dependency": false,
"lines": [
- 41
+ 36
],
"starting_column": 9,
- "ending_column": 41
+ "ending_column": 27
},
"type_specific_fields": {
"parent": {
@@ -393,9 +394,10 @@
}
}
],
- "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#41)\n",
- "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L41)\n",
- "id": "ba005d0d2665bc40c7c33b2a6a32bf426b4a5ccea38e75a6265976a20c9b7ae3",
+ "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#36)\n",
+ "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L36)\n",
+ "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46",
+ "id": "3ee7c4c1f07506f88bcd3b42a86641b32b24a3978768cbcb99301bd8a1fcb975",
"check": "controlled-array-length",
"impact": "High",
"confidence": "Medium"
@@ -467,20 +469,20 @@
},
{
"type": "node",
- "name": "a.x.length = param",
+ "name": "b.subStruct.x.length = param + 1",
"source_mapping": {
- "start": 818,
- "length": 18,
+ "start": 964,
+ "length": 32,
"filename_used": "/GENERIC_PATH",
"filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol",
"filename_absolute": "/GENERIC_PATH",
"filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol",
"is_dependency": false,
"lines": [
- 36
+ 41
],
"starting_column": 9,
- "ending_column": 27
+ "ending_column": 41
},
"type_specific_fields": {
"parent": {
@@ -593,9 +595,10 @@
}
}
],
- "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- a.x.length = param (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#36)\n",
- "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [a.x.length = param](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L36)\n",
- "id": "3ee7c4c1f07506f88bcd3b42a86641b32b24a3978768cbcb99301bd8a1fcb975",
+ "description": "ArrayLengthAssignment (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#1-46) contract sets array length with a user-controlled value:\n\t- b.subStruct.x.length = param + 1 (tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#41)\n",
+ "markdown": "[ArrayLengthAssignment](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46) contract sets array length with a user-controlled value:\n\t- [b.subStruct.x.length = param + 1](tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L41)\n",
+ "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46",
+ "id": "ba005d0d2665bc40c7c33b2a6a32bf426b4a5ccea38e75a6265976a20c9b7ae3",
"check": "controlled-array-length",
"impact": "High",
"confidence": "Medium"
diff --git a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json
index 4e319b56d..568e9e66f 100644
--- a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json
+++ b/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json
@@ -157,6 +157,7 @@
],
"description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#10)\n",
"markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11",
"id": "90d4f387ca3c669975a3ed4d7a5b09665b786a1078e16ced61adf1c3f9f6efb8",
"check": "controlled-delegatecall",
"impact": "High",
@@ -317,6 +318,7 @@
],
"description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#19)\n",
"markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L19)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20",
"id": "12d6ba2d0139326b442352b37028ff77dfbdc625870a5ae858e6107cfa89cfbb",
"check": "controlled-delegatecall",
"impact": "High",
diff --git a/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json
index 13f9a767e..1622c9dd7 100644
--- a/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json
+++ b/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json
@@ -157,6 +157,7 @@
],
"description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#10)\n",
"markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11",
"id": "5ffc12fd6e122f0e70986a5d7f8d14c087f538145910100ea15192a63391a2b7",
"check": "controlled-delegatecall",
"impact": "High",
@@ -317,6 +318,7 @@
],
"description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#19)\n",
"markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L19)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20",
"id": "a8749733eb415695ac990f9045813c8c1aadfb54f6de912cff1927db64a6d8d6",
"check": "controlled-delegatecall",
"impact": "High",
diff --git a/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json
index c37f8f593..b7aece8b0 100644
--- a/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json
+++ b/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json
@@ -157,6 +157,7 @@
],
"description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#10)\n",
"markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11",
"id": "bed67f615a2f3a872e24eedf23fdedbdfbe5a540dc3f3ea4ca1430581997a8f6",
"check": "controlled-delegatecall",
"impact": "High",
@@ -317,6 +318,7 @@
],
"description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#19)\n",
"markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L19)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20",
"id": "82fc8a33f6b16eff457087ec9961f2bce3c61289628dac8284009c8275cea790",
"check": "controlled-delegatecall",
"impact": "High",
diff --git a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json b/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json
index fd6a5ae12..9de54f65d 100644
--- a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json
+++ b/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json
@@ -157,6 +157,7 @@
],
"description": "C.bad_delegate_call(bytes) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#8-11) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(data) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#10)\n",
"markdown": "[C.bad_delegate_call(bytes)](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(data)](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11",
"id": "59a70e53c14de214629ffde4abab9700cbb3bc66a99e281954e3b9f285a28c2d",
"check": "controlled-delegatecall",
"impact": "High",
@@ -317,6 +318,7 @@
],
"description": "C.bad_delegate_call2(bytes) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#18-20) uses delegatecall to a input-controlled function id\n\t- addr_bad.delegatecall(abi.encode(func_id,data)) (tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#19)\n",
"markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20) uses delegatecall to a input-controlled function id\n\t- [addr_bad.delegatecall(abi.encode(func_id,data))](tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L19)\n",
+ "first_markdown_element": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20",
"id": "04a4aed45b4c803d9fa03d70198a8f6d7f4228d2fd5e06bd61c4c68431be2c90",
"check": "controlled-delegatecall",
"impact": "High",
diff --git a/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json
index 800a468ff..caf160443 100644
--- a/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json
+++ b/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json
@@ -175,6 +175,7 @@
],
"description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#10-14) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#12)\n",
"markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L10-L14) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L10-L14",
"id": "d00641f4d08f61911f58d8c73e60ce3f655d045c8f6207b7fdf91a029fd14962",
"check": "costly-loop",
"impact": "Informational",
diff --git a/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json
index 0f9587921..952b023a4 100644
--- a/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json
+++ b/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json
@@ -175,6 +175,7 @@
],
"description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#10-14) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#12)\n",
"markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L10-L14) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L10-L14",
"id": "1496f0664c18be47e9b27df825eb148e11f5458abbe2c0b8758c0645a220d802",
"check": "costly-loop",
"impact": "Informational",
diff --git a/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json
index 184d7a623..98c3f559a 100644
--- a/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json
+++ b/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json
@@ -175,6 +175,7 @@
],
"description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#10-14) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#12)\n",
"markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L10-L14) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L10-L14",
"id": "aad1cf92bc7ec06342b0fa39a1affa4e06b09bdb3b0c8fae61aeb4221236041a",
"check": "costly-loop",
"impact": "Informational",
diff --git a/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json b/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json
index c5e089ee2..26c75c493 100644
--- a/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json
+++ b/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json
@@ -175,6 +175,7 @@
],
"description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#10-14) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#12)\n",
"markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L10-L14) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L10-L14",
"id": "d6753ee3bfd5d2bb35baf5f9aa672d98eb00b2a771cbbfe37d5bac0d009f56ad",
"check": "costly-loop",
"impact": "Informational",
diff --git a/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json
index 8583d5b31..d15b49ba2 100644
--- a/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json
+++ b/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json
@@ -56,6 +56,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter from\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter from\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19",
"id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53",
"check": "erc20-indexed",
"impact": "Informational",
@@ -117,6 +118,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter to\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter to\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19",
"id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b",
"check": "erc20-indexed",
"impact": "Informational",
@@ -178,6 +180,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter owner\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter owner\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20",
"id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025",
"check": "erc20-indexed",
"impact": "Informational",
@@ -239,6 +242,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter spender\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter spender\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20",
"id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6",
"check": "erc20-indexed",
"impact": "Informational",
diff --git a/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json
index 97ede6f2b..8229619e6 100644
--- a/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json
+++ b/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json
@@ -56,6 +56,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter from\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter from\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19",
"id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53",
"check": "erc20-indexed",
"impact": "Informational",
@@ -117,6 +118,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter to\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter to\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19",
"id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b",
"check": "erc20-indexed",
"impact": "Informational",
@@ -178,6 +180,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter owner\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter owner\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20",
"id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025",
"check": "erc20-indexed",
"impact": "Informational",
@@ -239,6 +242,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter spender\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter spender\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20",
"id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6",
"check": "erc20-indexed",
"impact": "Informational",
diff --git a/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json
index e3aad45a2..762efcbbb 100644
--- a/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json
+++ b/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json
@@ -56,6 +56,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter from\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter from\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19",
"id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53",
"check": "erc20-indexed",
"impact": "Informational",
@@ -117,6 +118,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter to\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter to\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19",
"id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b",
"check": "erc20-indexed",
"impact": "Informational",
@@ -178,6 +180,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter owner\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter owner\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20",
"id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025",
"check": "erc20-indexed",
"impact": "Informational",
@@ -239,6 +242,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter spender\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter spender\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20",
"id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6",
"check": "erc20-indexed",
"impact": "Informational",
diff --git a/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json b/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json
index ca7437e74..37cae9bd2 100644
--- a/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json
+++ b/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json
@@ -56,6 +56,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter from\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter from\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19",
"id": "a86c7a54115f270548e82d71570dc4d2900b622b0f82c6fce137f3a35314af53",
"check": "erc20-indexed",
"impact": "Informational",
@@ -117,6 +118,7 @@
],
"description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter to\n",
"markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter to\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19",
"id": "29c46eb3a4695004959847ae09377729cdf3aa583de95560090b9bd49977c49b",
"check": "erc20-indexed",
"impact": "Informational",
@@ -178,6 +180,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter owner\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter owner\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20",
"id": "7d72b56a71ca96db304878f25484c496af1d283a9b777dc788f1473974057025",
"check": "erc20-indexed",
"impact": "Informational",
@@ -239,6 +242,7 @@
],
"description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter spender\n",
"markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter spender\n",
+ "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20",
"id": "df4d927d202bdca1fc411d6960d3f62ed2784f5eca7435cb0503f4154f2e3bc6",
"check": "erc20-indexed",
"impact": "Informational",
diff --git a/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json
index 47e418579..39425ad2e 100644
--- a/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json
+++ b/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json
@@ -76,6 +76,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10",
"id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e",
"check": "erc20-interface",
"impact": "Medium",
@@ -157,6 +158,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#5)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10",
"id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e",
"check": "erc20-interface",
"impact": "Medium",
@@ -238,6 +240,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#6)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10",
"id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73",
"check": "erc20-interface",
"impact": "Medium",
@@ -319,6 +322,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10",
"id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e",
"check": "erc20-interface",
"impact": "Medium",
@@ -400,6 +404,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10",
"id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef",
"check": "erc20-interface",
"impact": "Medium",
@@ -481,6 +486,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10",
"id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a",
"check": "erc20-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json
index 1abcc668f..c1495435c 100644
--- a/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json
+++ b/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json
@@ -76,6 +76,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10",
"id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e",
"check": "erc20-interface",
"impact": "Medium",
@@ -157,6 +158,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#5)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10",
"id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e",
"check": "erc20-interface",
"impact": "Medium",
@@ -238,6 +240,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#6)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10",
"id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73",
"check": "erc20-interface",
"impact": "Medium",
@@ -319,6 +322,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10",
"id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e",
"check": "erc20-interface",
"impact": "Medium",
@@ -400,6 +404,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10",
"id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef",
"check": "erc20-interface",
"impact": "Medium",
@@ -481,6 +486,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10",
"id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a",
"check": "erc20-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json
index c0a6a4923..a8cdb0cf2 100644
--- a/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json
+++ b/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json
@@ -76,6 +76,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10",
"id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e",
"check": "erc20-interface",
"impact": "Medium",
@@ -157,6 +158,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#5)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10",
"id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e",
"check": "erc20-interface",
"impact": "Medium",
@@ -238,6 +240,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#6)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10",
"id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73",
"check": "erc20-interface",
"impact": "Medium",
@@ -319,6 +322,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10",
"id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e",
"check": "erc20-interface",
"impact": "Medium",
@@ -400,6 +404,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10",
"id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef",
"check": "erc20-interface",
"impact": "Medium",
@@ -481,6 +486,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10",
"id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a",
"check": "erc20-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json b/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json
index 7bc10f631..3817f3cbc 100644
--- a/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json
+++ b/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json
@@ -76,6 +76,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10",
"id": "d3df2e48ae6e8a1b05b275de574b480853a0839c272ce889e8a1664ae432698e",
"check": "erc20-interface",
"impact": "Medium",
@@ -157,6 +158,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#5)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10",
"id": "0fced3029cf59cf348a6b79c58dbb032d837fdd5a5f355600edebda1878e9e2e",
"check": "erc20-interface",
"impact": "Medium",
@@ -238,6 +240,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#6)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10",
"id": "ba13a1588595032984a3fad39610a2414bb8fcb522d1e632d52fa947ff207d73",
"check": "erc20-interface",
"impact": "Medium",
@@ -319,6 +322,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10",
"id": "c951e429e546af28ac08e241d391e874c1c9c70b0732ccfb63f3bbfb3eaac16e",
"check": "erc20-interface",
"impact": "Medium",
@@ -400,6 +404,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10",
"id": "758ca2456030a36dbd6115f2ccb1a43f53f1dabd66ed079806df0f6b7b4d21ef",
"check": "erc20-interface",
"impact": "Medium",
@@ -481,6 +486,7 @@
],
"description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10",
"id": "1286abfe21b09e21e1cec8b991f73664e104fa39f7f4190690ece3af45bc0c7a",
"check": "erc20-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json
index a9f0f1fb4..59ceb015b 100644
--- a/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json
+++ b/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json
@@ -74,6 +74,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d",
"check": "erc721-interface",
"impact": "Medium",
@@ -161,6 +162,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991",
"check": "erc721-interface",
"impact": "Medium",
@@ -248,6 +250,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2",
"check": "erc721-interface",
"impact": "Medium",
@@ -335,6 +338,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1",
"check": "erc721-interface",
"impact": "Medium",
@@ -422,6 +426,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#10)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b",
"check": "erc721-interface",
"impact": "Medium",
@@ -509,6 +514,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#11)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e",
"check": "erc721-interface",
"impact": "Medium",
@@ -596,6 +602,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#12)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d",
"check": "erc721-interface",
"impact": "Medium",
@@ -683,6 +690,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#13)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40",
"check": "erc721-interface",
"impact": "Medium",
@@ -770,6 +778,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#14)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937",
"check": "erc721-interface",
"impact": "Medium",
@@ -857,6 +866,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#15)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L15)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16",
"id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb",
"check": "erc721-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json
index abc113d72..6d2d85db1 100644
--- a/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json
+++ b/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json
@@ -74,6 +74,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d",
"check": "erc721-interface",
"impact": "Medium",
@@ -161,6 +162,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991",
"check": "erc721-interface",
"impact": "Medium",
@@ -248,6 +250,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2",
"check": "erc721-interface",
"impact": "Medium",
@@ -335,6 +338,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1",
"check": "erc721-interface",
"impact": "Medium",
@@ -422,6 +426,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#10)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b",
"check": "erc721-interface",
"impact": "Medium",
@@ -509,6 +514,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#11)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e",
"check": "erc721-interface",
"impact": "Medium",
@@ -596,6 +602,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#12)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d",
"check": "erc721-interface",
"impact": "Medium",
@@ -683,6 +690,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#13)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40",
"check": "erc721-interface",
"impact": "Medium",
@@ -770,6 +778,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#14)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937",
"check": "erc721-interface",
"impact": "Medium",
@@ -857,6 +866,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#15)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L15)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16",
"id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb",
"check": "erc721-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json
index 5658e5c89..114390883 100644
--- a/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json
+++ b/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json
@@ -74,6 +74,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d",
"check": "erc721-interface",
"impact": "Medium",
@@ -161,6 +162,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991",
"check": "erc721-interface",
"impact": "Medium",
@@ -248,6 +250,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2",
"check": "erc721-interface",
"impact": "Medium",
@@ -335,6 +338,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1",
"check": "erc721-interface",
"impact": "Medium",
@@ -422,6 +426,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#10)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b",
"check": "erc721-interface",
"impact": "Medium",
@@ -509,6 +514,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#11)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e",
"check": "erc721-interface",
"impact": "Medium",
@@ -596,6 +602,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#12)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d",
"check": "erc721-interface",
"impact": "Medium",
@@ -683,6 +690,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#13)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40",
"check": "erc721-interface",
"impact": "Medium",
@@ -770,6 +778,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#14)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937",
"check": "erc721-interface",
"impact": "Medium",
@@ -857,6 +866,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#15)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L15)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16",
"id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb",
"check": "erc721-interface",
"impact": "Medium",
diff --git a/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json b/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json
index f1c31ef5a..c39d35d66 100644
--- a/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json
+++ b/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json
@@ -74,6 +74,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#4)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "a8593587ca70c51a9ab827843babec3b3eb7f9a08d76eea1e5528e668f7b291d",
"check": "erc721-interface",
"impact": "Medium",
@@ -161,6 +162,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#7)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "6fb9d0320e0b63e2c70f9844d5bea2be958e73beb6eaa4ccb2323ead0c7ef991",
"check": "erc721-interface",
"impact": "Medium",
@@ -248,6 +250,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#8)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "7d9235dd4ef8bc29a3b7700597cc1e4efb846377c928e5e50c5f49cb37f288d2",
"check": "erc721-interface",
"impact": "Medium",
@@ -335,6 +338,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#9)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "ccec612c4b5db00ab59b766b5dde3f8d3a8c6408ef595ab08bff21628587e2a1",
"check": "erc721-interface",
"impact": "Medium",
@@ -422,6 +426,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#10)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "50ab7b0f39f327ac6deccf3c16b4e6fee1dc249072ac41a4bd485ccf0c12315b",
"check": "erc721-interface",
"impact": "Medium",
@@ -509,6 +514,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#11)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "847b11227f3bfc9b120e0ea573f385a4bbc61c4b7f89f434864612a679b1133e",
"check": "erc721-interface",
"impact": "Medium",
@@ -596,6 +602,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#12)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "439c95972d0e084aff057161164b13ab63f85bee31d80b568b7155e58eac4b5d",
"check": "erc721-interface",
"impact": "Medium",
@@ -683,6 +690,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#13)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "b95e9bb000fb073c25fdbd9fff7bf0a3c44e04e70fc1a7da27c94c6b7fb8be40",
"check": "erc721-interface",
"impact": "Medium",
@@ -770,6 +778,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#14)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "2dce4891c7abea0fa8a8a20a8b8482e7e1d46d54bfd750701c604d5dadd8b937",
"check": "erc721-interface",
"impact": "Medium",
@@ -857,6 +866,7 @@
],
"description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#15)\n",
"markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L15)\n",
+ "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16",
"id": "fa9985c505689f9a45d1ac51e1dd8cf79eeb2c939946abfb5ac78f46e692d0eb",
"check": "erc721-interface",
"impact": "Medium",
diff --git a/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json b/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json
index 915dc09fb..69ac9726d 100644
--- a/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json
+++ b/tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json
@@ -209,6 +209,7 @@
],
"description": "Bug.bad0() (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#16) \n",
"markdown": "[Bug.bad0()](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L16) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L15-L17",
"id": "4d3c0f7336bc2f5248fb9488caa06bf496a1076398fca7a730a4e18ef9eedb23",
"check": "events-access",
"impact": "Low",
@@ -423,6 +424,7 @@
],
"description": "Bug.bad1(address) (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#20) \n",
"markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L20) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L19-L21",
"id": "b2bf34ab3d02054c5f803cd517689d1e3d055b46ca612b2457d845d8d4b94731",
"check": "events-access",
"impact": "Low",
@@ -639,6 +641,7 @@
],
"description": "Bug.bad2(address) (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#25) \n",
"markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L25) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L23-L26",
"id": "9411f6b4b3e6f3833a72789f341adf88796bcb58b4a12a47a6f7117746d09c53",
"check": "events-access",
"impact": "Low",
diff --git a/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json b/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json
index 84576230a..fa6822d62 100644
--- a/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json
+++ b/tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json
@@ -209,6 +209,7 @@
],
"description": "Bug.bad0() (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#16) \n",
"markdown": "[Bug.bad0()](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L16) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L15-L17",
"id": "99e09713b41d4b164cc0f4a88f48e6d0bd94128636c57b1bee357ac1fda130d7",
"check": "events-access",
"impact": "Low",
@@ -423,6 +424,7 @@
],
"description": "Bug.bad1(address) (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#20) \n",
"markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L20) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L19-L21",
"id": "a8b5423d1085668a105afd674978791ad0b57f1c9ab15b7db682c3dfac7a49b2",
"check": "events-access",
"impact": "Low",
@@ -639,6 +641,7 @@
],
"description": "Bug.bad2(address) (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#25) \n",
"markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L25) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L23-L26",
"id": "1562e590ef85efee605bdbf837a010ad06cdb04cec40ac4a7ca7c8cc25cf4161",
"check": "events-access",
"impact": "Low",
diff --git a/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json b/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json
index f4419cb3e..56ea7e2fd 100644
--- a/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json
+++ b/tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json
@@ -209,6 +209,7 @@
],
"description": "Bug.bad0() (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#16) \n",
"markdown": "[Bug.bad0()](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L16) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L15-L17",
"id": "81ef3707d2eed91cd30ba6e7368fa40206ec32eec757bb0af632c4b7885bd92c",
"check": "events-access",
"impact": "Low",
@@ -423,6 +424,7 @@
],
"description": "Bug.bad1(address) (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#20) \n",
"markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L20) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L19-L21",
"id": "7dd824ee9b2f6100abf2b1e95d84c1b1393a4ab27a06676b2a5d7da164788a00",
"check": "events-access",
"impact": "Low",
@@ -639,6 +641,7 @@
],
"description": "Bug.bad2(address) (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#25) \n",
"markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L25) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L23-L26",
"id": "a1b2818a2d7f222d9f8e8d8f7730fe9e8b24c9863637b9ecd2f395eb68fa3511",
"check": "events-access",
"impact": "Low",
diff --git a/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json b/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json
index 590ba4f79..0b1ba01ff 100644
--- a/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json
+++ b/tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json
@@ -209,6 +209,7 @@
],
"description": "Bug.bad0() (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#16) \n",
"markdown": "[Bug.bad0()](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L16) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L15-L17",
"id": "2fb533ae76197f4d08ef6a97b9f0ee983db552644ae44807c761889fc5a86c22",
"check": "events-access",
"impact": "Low",
@@ -423,6 +424,7 @@
],
"description": "Bug.bad1(address) (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#20) \n",
"markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L20) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L19-L21",
"id": "d319284c1ad2023a792ace9e7b2371966f789c5acf5ab90b1cc5935060f855f0",
"check": "events-access",
"impact": "Low",
@@ -639,6 +641,7 @@
],
"description": "Bug.bad2(address) (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#25) \n",
"markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L25) \n",
+ "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L23-L26",
"id": "3b63f24bd57a54fab8af7d3292bd8444c3dc834bf43dfd96be0e06ca0027299c",
"check": "events-access",
"impact": "Low",
diff --git a/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json
index 9a962d3a4..5597f2fec 100644
--- a/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json
+++ b/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json
@@ -249,6 +249,7 @@
],
"description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#23) \n",
"markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L23) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24",
"id": "5bdc3116ab3855778ce4857872000648491e61af71273e503cc9439c5e8740c1",
"check": "events-maths",
"impact": "Low",
@@ -503,6 +504,7 @@
],
"description": "Bug.bad1(int16) (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#31) \n",
"markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L31) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32",
"id": "a8bc1236abe35dd73049b7e452352ea609772a11ca5cc92e0ee958ac94e5a577",
"check": "events-maths",
"impact": "Low",
diff --git a/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json
index f6e7dae22..f8bdc0224 100644
--- a/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json
+++ b/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json
@@ -249,6 +249,7 @@
],
"description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#23) \n",
"markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L23) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24",
"id": "07662c5e48ff5320e1a777c6014a5c08a4afe75e11a9c5219acab83b345345d0",
"check": "events-maths",
"impact": "Low",
@@ -503,6 +504,7 @@
],
"description": "Bug.bad1(int16) (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#31) \n",
"markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L31) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32",
"id": "57f7648cceb76092e0e6102aa9787e808eb435435277dbde46ef016eb1047aa6",
"check": "events-maths",
"impact": "Low",
diff --git a/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json
index 9fca2d9fc..5824ce5ca 100644
--- a/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json
+++ b/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json
@@ -249,6 +249,7 @@
],
"description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#23) \n",
"markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L23) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24",
"id": "8939d396ba9831d820e0960a02ce00dcc748cf3c833cb57bec01898a8782ce10",
"check": "events-maths",
"impact": "Low",
@@ -503,6 +504,7 @@
],
"description": "Bug.bad1(int16) (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#31) \n",
"markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L31) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32",
"id": "8cfd768ccce23b341e194537946d6ae90c8bbfb9ab94658a7044848969769e1a",
"check": "events-maths",
"impact": "Low",
diff --git a/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json b/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json
index 2b09e14e1..45837cbba 100644
--- a/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json
+++ b/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json
@@ -249,6 +249,7 @@
],
"description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#23) \n",
"markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L23) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24",
"id": "833efa3b1dab85aef7a00a7bf77bfe290cb2933e11eed34150a1e54a9644a093",
"check": "events-maths",
"impact": "Low",
@@ -503,6 +504,7 @@
],
"description": "Bug.bad1(int16) (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#31) \n",
"markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L31) \n",
+ "first_markdown_element": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32",
"id": "22cd7f2678dfbd4185d6254ad55b620bd3b20a406d88d9f53412ca97d9c3bf03",
"check": "events-maths",
"impact": "Low",
diff --git a/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json b/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json
index b74beda67..0aea04515 100644
--- a/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json
+++ b/tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json
@@ -64,6 +64,7 @@
],
"description": "funcNotCalled3() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled3() (tests/detectors/external-function/0.4.25/external_function.sol#13-15)\n",
"markdown": "funcNotCalled3() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled3()](tests/detectors/external-function/0.4.25/external_function.sol#L13-L15)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function.sol#L13-L15",
"id": "026d9a579ea0304e58c8a5174296494f4b672e4ea032f4e17504f3dac327c4e6",
"check": "external-function",
"impact": "Optimization",
@@ -133,6 +134,7 @@
],
"description": "funcNotCalled2() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled2() (tests/detectors/external-function/0.4.25/external_function.sol#17-19)\n",
"markdown": "funcNotCalled2() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled2()](tests/detectors/external-function/0.4.25/external_function.sol#L17-L19)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function.sol#L17-L19",
"id": "1ef1f19a92a8ab8d27df156d50dd75628ec3057b5f5eb16b7d1faa0e5c3850a0",
"check": "external-function",
"impact": "Optimization",
@@ -202,6 +204,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled() (tests/detectors/external-function/0.4.25/external_function.sol#21-23)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled()](tests/detectors/external-function/0.4.25/external_function.sol#L21-L23)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function.sol#L21-L23",
"id": "369a2f3d071735755ff4f5bc43081fe858bbfb07eed94e5c6dda3c8daa22ba26",
"check": "external-function",
"impact": "Optimization",
@@ -267,6 +270,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled2.funcNotCalled() (tests/detectors/external-function/0.4.25/external_function.sol#32-39)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled2.funcNotCalled()](tests/detectors/external-function/0.4.25/external_function.sol#L32-L39)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function.sol#L32-L39",
"id": "80a0a3a3954cc6e314079a1d8d96d6739d521ddbcf738e63078d7f210e443562",
"check": "external-function",
"impact": "Optimization",
@@ -328,6 +332,7 @@
],
"description": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- FunctionParameterWrite.parameter_read_ok_for_external(uint256) (tests/detectors/external-function/0.4.25/external_function.sol#74-76)\n",
"markdown": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- [FunctionParameterWrite.parameter_read_ok_for_external(uint256)](tests/detectors/external-function/0.4.25/external_function.sol#L74-L76)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function.sol#L74-L76",
"id": "3a0a42d128eff9fb04d8f7605bf2d6f7574c2cbbdffa2dcabbae66d7568ecc59",
"check": "external-function",
"impact": "Optimization",
diff --git a/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json b/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json
index 2bd6ce0c6..340c8107a 100644
--- a/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json
+++ b/tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json
@@ -64,6 +64,7 @@
],
"description": "funcNotCalled3() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled3() (tests/detectors/external-function/0.5.16/external_function.sol#13-15)\n",
"markdown": "funcNotCalled3() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled3()](tests/detectors/external-function/0.5.16/external_function.sol#L13-L15)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function.sol#L13-L15",
"id": "026d9a579ea0304e58c8a5174296494f4b672e4ea032f4e17504f3dac327c4e6",
"check": "external-function",
"impact": "Optimization",
@@ -133,6 +134,7 @@
],
"description": "funcNotCalled2() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled2() (tests/detectors/external-function/0.5.16/external_function.sol#17-19)\n",
"markdown": "funcNotCalled2() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled2()](tests/detectors/external-function/0.5.16/external_function.sol#L17-L19)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function.sol#L17-L19",
"id": "1ef1f19a92a8ab8d27df156d50dd75628ec3057b5f5eb16b7d1faa0e5c3850a0",
"check": "external-function",
"impact": "Optimization",
@@ -202,6 +204,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled() (tests/detectors/external-function/0.5.16/external_function.sol#21-23)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled()](tests/detectors/external-function/0.5.16/external_function.sol#L21-L23)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function.sol#L21-L23",
"id": "369a2f3d071735755ff4f5bc43081fe858bbfb07eed94e5c6dda3c8daa22ba26",
"check": "external-function",
"impact": "Optimization",
@@ -267,6 +270,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled2.funcNotCalled() (tests/detectors/external-function/0.5.16/external_function.sol#32-39)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled2.funcNotCalled()](tests/detectors/external-function/0.5.16/external_function.sol#L32-L39)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function.sol#L32-L39",
"id": "80a0a3a3954cc6e314079a1d8d96d6739d521ddbcf738e63078d7f210e443562",
"check": "external-function",
"impact": "Optimization",
@@ -328,6 +332,7 @@
],
"description": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- FunctionParameterWrite.parameter_read_ok_for_external(uint256) (tests/detectors/external-function/0.5.16/external_function.sol#74-76)\n",
"markdown": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- [FunctionParameterWrite.parameter_read_ok_for_external(uint256)](tests/detectors/external-function/0.5.16/external_function.sol#L74-L76)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.5.16/external_function.sol#L74-L76",
"id": "3a0a42d128eff9fb04d8f7605bf2d6f7574c2cbbdffa2dcabbae66d7568ecc59",
"check": "external-function",
"impact": "Optimization",
diff --git a/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json b/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json
index e3246b546..eee61a19f 100644
--- a/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json
+++ b/tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json
@@ -64,6 +64,7 @@
],
"description": "funcNotCalled3() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled3() (tests/detectors/external-function/0.6.11/external_function.sol#13-15)\n",
"markdown": "funcNotCalled3() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled3()](tests/detectors/external-function/0.6.11/external_function.sol#L13-L15)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.6.11/external_function.sol#L13-L15",
"id": "026d9a579ea0304e58c8a5174296494f4b672e4ea032f4e17504f3dac327c4e6",
"check": "external-function",
"impact": "Optimization",
@@ -133,6 +134,7 @@
],
"description": "funcNotCalled2() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled2() (tests/detectors/external-function/0.6.11/external_function.sol#17-19)\n",
"markdown": "funcNotCalled2() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled2()](tests/detectors/external-function/0.6.11/external_function.sol#L17-L19)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.6.11/external_function.sol#L17-L19",
"id": "1ef1f19a92a8ab8d27df156d50dd75628ec3057b5f5eb16b7d1faa0e5c3850a0",
"check": "external-function",
"impact": "Optimization",
@@ -202,6 +204,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled() (tests/detectors/external-function/0.6.11/external_function.sol#21-23)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled()](tests/detectors/external-function/0.6.11/external_function.sol#L21-L23)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.6.11/external_function.sol#L21-L23",
"id": "369a2f3d071735755ff4f5bc43081fe858bbfb07eed94e5c6dda3c8daa22ba26",
"check": "external-function",
"impact": "Optimization",
@@ -267,6 +270,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled2.funcNotCalled() (tests/detectors/external-function/0.6.11/external_function.sol#32-39)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled2.funcNotCalled()](tests/detectors/external-function/0.6.11/external_function.sol#L32-L39)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.6.11/external_function.sol#L32-L39",
"id": "80a0a3a3954cc6e314079a1d8d96d6739d521ddbcf738e63078d7f210e443562",
"check": "external-function",
"impact": "Optimization",
@@ -328,6 +332,7 @@
],
"description": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- FunctionParameterWrite.parameter_read_ok_for_external(uint256) (tests/detectors/external-function/0.6.11/external_function.sol#74-76)\n",
"markdown": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- [FunctionParameterWrite.parameter_read_ok_for_external(uint256)](tests/detectors/external-function/0.6.11/external_function.sol#L74-L76)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.6.11/external_function.sol#L74-L76",
"id": "3a0a42d128eff9fb04d8f7605bf2d6f7574c2cbbdffa2dcabbae66d7568ecc59",
"check": "external-function",
"impact": "Optimization",
diff --git a/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json b/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json
index a36860728..6e90c47ab 100644
--- a/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json
+++ b/tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json
@@ -64,6 +64,7 @@
],
"description": "funcNotCalled3() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled3() (tests/detectors/external-function/0.7.6/external_function.sol#13-15)\n",
"markdown": "funcNotCalled3() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled3()](tests/detectors/external-function/0.7.6/external_function.sol#L13-L15)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.7.6/external_function.sol#L13-L15",
"id": "026d9a579ea0304e58c8a5174296494f4b672e4ea032f4e17504f3dac327c4e6",
"check": "external-function",
"impact": "Optimization",
@@ -133,6 +134,7 @@
],
"description": "funcNotCalled2() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled2() (tests/detectors/external-function/0.7.6/external_function.sol#17-19)\n",
"markdown": "funcNotCalled2() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled2()](tests/detectors/external-function/0.7.6/external_function.sol#L17-L19)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.7.6/external_function.sol#L17-L19",
"id": "1ef1f19a92a8ab8d27df156d50dd75628ec3057b5f5eb16b7d1faa0e5c3850a0",
"check": "external-function",
"impact": "Optimization",
@@ -202,6 +204,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled.funcNotCalled() (tests/detectors/external-function/0.7.6/external_function.sol#21-23)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled.funcNotCalled()](tests/detectors/external-function/0.7.6/external_function.sol#L21-L23)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.7.6/external_function.sol#L21-L23",
"id": "369a2f3d071735755ff4f5bc43081fe858bbfb07eed94e5c6dda3c8daa22ba26",
"check": "external-function",
"impact": "Optimization",
@@ -267,6 +270,7 @@
],
"description": "funcNotCalled() should be declared external:\n\t- ContractWithFunctionNotCalled2.funcNotCalled() (tests/detectors/external-function/0.7.6/external_function.sol#32-39)\n",
"markdown": "funcNotCalled() should be declared external:\n\t- [ContractWithFunctionNotCalled2.funcNotCalled()](tests/detectors/external-function/0.7.6/external_function.sol#L32-L39)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.7.6/external_function.sol#L32-L39",
"id": "80a0a3a3954cc6e314079a1d8d96d6739d521ddbcf738e63078d7f210e443562",
"check": "external-function",
"impact": "Optimization",
@@ -328,6 +332,7 @@
],
"description": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- FunctionParameterWrite.parameter_read_ok_for_external(uint256) (tests/detectors/external-function/0.7.6/external_function.sol#74-76)\n",
"markdown": "parameter_read_ok_for_external(uint256) should be declared external:\n\t- [FunctionParameterWrite.parameter_read_ok_for_external(uint256)](tests/detectors/external-function/0.7.6/external_function.sol#L74-L76)\n",
+ "first_markdown_element": "tests/detectors/external-function/0.7.6/external_function.sol#L74-L76",
"id": "3a0a42d128eff9fb04d8f7605bf2d6f7574c2cbbdffa2dcabbae66d7568ecc59",
"check": "external-function",
"impact": "Optimization",
diff --git a/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json b/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json
index f2993d18c..bf6612ee9 100644
--- a/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json
+++ b/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json
@@ -87,6 +87,7 @@
],
"description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L5",
"id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b",
"check": "function-init-state",
"impact": "Informational",
@@ -179,6 +180,7 @@
],
"description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L7",
"id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354",
"check": "function-init-state",
"impact": "Informational",
@@ -271,6 +273,7 @@
],
"description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
"markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L9",
"id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab",
"check": "function-init-state",
"impact": "Informational",
@@ -363,6 +366,7 @@
],
"description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
"markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L10",
"id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472",
"check": "function-init-state",
"impact": "Informational",
@@ -455,6 +459,7 @@
],
"description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
"markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L17",
"id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525",
"check": "function-init-state",
"impact": "Informational",
diff --git a/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json b/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json
index e6b89db79..8ac1bfd7f 100644
--- a/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json
+++ b/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json
@@ -87,6 +87,7 @@
],
"description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L5",
"id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b",
"check": "function-init-state",
"impact": "Informational",
@@ -179,6 +180,7 @@
],
"description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L7",
"id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354",
"check": "function-init-state",
"impact": "Informational",
@@ -271,6 +273,7 @@
],
"description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
"markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L9",
"id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab",
"check": "function-init-state",
"impact": "Informational",
@@ -363,6 +366,7 @@
],
"description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
"markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L10",
"id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472",
"check": "function-init-state",
"impact": "Informational",
@@ -455,6 +459,7 @@
],
"description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
"markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L17",
"id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525",
"check": "function-init-state",
"impact": "Informational",
diff --git a/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json b/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json
index b66129a3e..001ac77c1 100644
--- a/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json
+++ b/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json
@@ -87,6 +87,7 @@
],
"description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L5",
"id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b",
"check": "function-init-state",
"impact": "Informational",
@@ -179,6 +180,7 @@
],
"description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L7",
"id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354",
"check": "function-init-state",
"impact": "Informational",
@@ -271,6 +273,7 @@
],
"description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
"markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L9",
"id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab",
"check": "function-init-state",
"impact": "Informational",
@@ -363,6 +366,7 @@
],
"description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
"markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L10",
"id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472",
"check": "function-init-state",
"impact": "Informational",
@@ -455,6 +459,7 @@
],
"description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
"markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L17",
"id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525",
"check": "function-init-state",
"impact": "Informational",
diff --git a/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json b/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json
index a34b2f854..ec0366a43 100644
--- a/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json
+++ b/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json
@@ -87,6 +87,7 @@
],
"description": "StateVarInitFromFunction.v (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.v](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L5) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L5",
"id": "4b87ea4c0a3b72be79ffde12c56c9dc7440445b79ff4b228e0937b3a05540e4b",
"check": "function-init-state",
"impact": "Informational",
@@ -179,6 +180,7 @@
],
"description": "StateVarInitFromFunction.x (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
"markdown": "[StateVarInitFromFunction.x](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L7) is set pre-construction with a non-constant function or state variable:\n\t- set()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L7",
"id": "adfa394934c8669a556cfa10c364fe526dd1e295a63959e1e88fe84a919ef354",
"check": "function-init-state",
"impact": "Informational",
@@ -271,6 +273,7 @@
],
"description": "StateVarInitFromFunction.y1 (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
"markdown": "[StateVarInitFromFunction.y1](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L9) is set pre-construction with a non-constant function or state variable:\n\t- 5 + get()\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L9",
"id": "b26f83c06e9aca87637dea02a0f4080fd4226c1ed90c6c2c63da85cb142d67ab",
"check": "function-init-state",
"impact": "Informational",
@@ -363,6 +366,7 @@
],
"description": "StateVarInitFromFunction.y2 (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
"markdown": "[StateVarInitFromFunction.y2](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L10) is set pre-construction with a non-constant function or state variable:\n\t- (10 + (5 + get()))\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L10",
"id": "b6e231b9b735794e00b73dddb86b2ba8f7a738d916c99f302fb32b1095c67472",
"check": "function-init-state",
"impact": "Informational",
@@ -455,6 +459,7 @@
],
"description": "StateVarInitFromFunction.z4 (tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
"markdown": "[StateVarInitFromFunction.z4](tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L17) is set pre-construction with a non-constant function or state variable:\n\t- z3 + 5\n",
+ "first_markdown_element": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L17",
"id": "8b7eb9ab16397c2f23479d2c3043a675ab5e2b1da07e2697631812d6d7b68525",
"check": "function-init-state",
"impact": "Informational",
diff --git a/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json
index a0290b0a2..c708e7cac 100644
--- a/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json
+++ b/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json
@@ -143,6 +143,7 @@
],
"description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#22)\n",
"markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23",
"id": "d887566c310fa756ee60c8a838f09bf3165adda30dff76b4d8f7bd85f6561610",
"check": "incorrect-equality",
"impact": "Medium",
@@ -291,6 +292,7 @@
],
"description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#26)\n",
"markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L26)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27",
"id": "a962a2c49344b2acce83236c339daa07cce98d240dd8869bb7d8c5e96d412ff0",
"check": "incorrect-equality",
"impact": "Medium",
@@ -539,6 +541,7 @@
],
"description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#33)\n",
"markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L33)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35",
"id": "126f956451cb4dcbdac6edb66148b23eabc789962d4fa3a8bd22a682c6c5bfd4",
"check": "incorrect-equality",
"impact": "Medium",
@@ -787,6 +790,7 @@
],
"description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#38)\n",
"markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L38)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40",
"id": "de67d7a1010855e47722500e73f1156c1c2c222414e661624300ea395102af1a",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1035,6 +1039,7 @@
],
"description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#43)\n",
"markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L43)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45",
"id": "b6c0963403d985cfcd3eda6d43bc2716eaebcd0d936d9a57d35df4adfbb01e46",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1283,6 +1288,7 @@
],
"description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#48)\n",
"markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L48)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50",
"id": "8f08cca8ee4d2d51c2bf5717f78aa1dd13c6499e430a43b89e5309f20920b11d",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1535,6 +1541,7 @@
],
"description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#54)\n",
"markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L54)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57",
"id": "b7b40be64de7150ba57e0f2b6379c672ee431675bbab8b607a82acdd29338d42",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1787,6 +1794,7 @@
],
"description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#61)\n",
"markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L61)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64",
"id": "781645f52e6eb4c7a0e38a58537907a6421ded2703ae8b18be68251a02901e7a",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2039,6 +2047,7 @@
],
"description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#68)\n",
"markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L68)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71",
"id": "2cc246058513fdfe2178c6e9b552bcae42d3c29bc104c3b95734323aeda57396",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2223,6 +2232,7 @@
],
"description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#124)\n",
"markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L124)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125",
"id": "abcb113fde0b01cb4a653968a235bf5f3ee70a6f97ae3fa68c3a161c8ca5f6b8",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2407,6 +2417,7 @@
],
"description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#128)\n",
"markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L128)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129",
"id": "d17755463242fbfeef570c2504ff13729a74d8633ade693da26127635b145892",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2591,6 +2602,7 @@
],
"description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#132)\n",
"markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L132)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133",
"id": "a65d9228ffbebf6de7f455df00a0de91ee0e23c7f13a306bdc90e16e69a043b3",
"check": "incorrect-equality",
"impact": "Medium",
diff --git a/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json
index 1593cb86f..30fe83e32 100644
--- a/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json
+++ b/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json
@@ -143,6 +143,7 @@
],
"description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#22)\n",
"markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23",
"id": "f1b10c19ed186a854e281f6b2f29e08d5da8892045a928b0565355802998088a",
"check": "incorrect-equality",
"impact": "Medium",
@@ -291,6 +292,7 @@
],
"description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#26)\n",
"markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L26)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27",
"id": "43d01e301a135af4627eded0afd320a3cc986834dcd0c77ccec4d85e7ac05b57",
"check": "incorrect-equality",
"impact": "Medium",
@@ -539,6 +541,7 @@
],
"description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#33)\n",
"markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L33)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35",
"id": "d00ea5300293e9fe66a52421f56fbb2e48ba4ba942f1d8845e3c2e5bfbbbe66f",
"check": "incorrect-equality",
"impact": "Medium",
@@ -787,6 +790,7 @@
],
"description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#38)\n",
"markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L38)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40",
"id": "aee531d35272d761a573246a7f901716f6d1aa6906a0eab19bee4f6f570eb166",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1035,6 +1039,7 @@
],
"description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#43)\n",
"markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L43)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45",
"id": "7d0195ec395960b56eb4249c96481aec69f59da34ea15128734721ff1844d469",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1283,6 +1288,7 @@
],
"description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#48)\n",
"markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L48)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50",
"id": "a987ef061c48551aeeb83ad7556a7d00d13d4dc5fade167c6dc6d586738bda14",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1535,6 +1541,7 @@
],
"description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#54)\n",
"markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L54)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57",
"id": "7d7ebf1738fffe12204ace79edbf67edb9962c03af58dbb9fa9c133d711eaa38",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1787,6 +1794,7 @@
],
"description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#61)\n",
"markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L61)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64",
"id": "2fddf13889b45374114f11585944ef935efb365935aff518b505f01d4f6c1c97",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2039,6 +2047,7 @@
],
"description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#68)\n",
"markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L68)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71",
"id": "280c7848636dd05a32dbdff744714307aa1350aebc6031dd862af9aeb6bdebe3",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2223,6 +2232,7 @@
],
"description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#124)\n",
"markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L124)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125",
"id": "9f08ac90026e6fb8bcd20c0ab8f967fe7680689841262bb91747d967ac2564c4",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2407,6 +2417,7 @@
],
"description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#128)\n",
"markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L128)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129",
"id": "27fb1eed66075f0883f327ce69bfa39000a4cc6841a39342114cb892a1a0b23b",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2591,6 +2602,7 @@
],
"description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#132)\n",
"markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L132)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133",
"id": "9adfb849a88f90efbe4e42ae4daea709e51db6af3ae0a8bb2427d8053a832d04",
"check": "incorrect-equality",
"impact": "Medium",
diff --git a/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json
index 2e8fb0267..367074b6e 100644
--- a/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json
+++ b/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json
@@ -143,6 +143,7 @@
],
"description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#22)\n",
"markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23",
"id": "df1ee72930fcaa7dc7a92d390be6007c57953a3392aef588a852373da388d850",
"check": "incorrect-equality",
"impact": "Medium",
@@ -291,6 +292,7 @@
],
"description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#26)\n",
"markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L26)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27",
"id": "4d1635766db4dc0687873af3c03047d746b770bcce326793c79210ac16a5c824",
"check": "incorrect-equality",
"impact": "Medium",
@@ -539,6 +541,7 @@
],
"description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#33)\n",
"markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L33)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35",
"id": "20756b1d1c5eb722a3edb44b8c7b2a62ca935e4e1a2491bce50856f7f4cf3f4c",
"check": "incorrect-equality",
"impact": "Medium",
@@ -787,6 +790,7 @@
],
"description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#38)\n",
"markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L38)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40",
"id": "9363dbd2bb3f41b42351b088f7a973902e04ccae0081e5c99354de90890fe6ab",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1035,6 +1039,7 @@
],
"description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#43)\n",
"markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L43)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45",
"id": "50ab6a747d027b81a24ae04b84e6362bd184a5f23080e2af1b6a859ee144f637",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1283,6 +1288,7 @@
],
"description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#48)\n",
"markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L48)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50",
"id": "3cf7fef3822d0628cc1f441162960a6753d6cdcad5b8c56c84584dba741e806b",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1535,6 +1541,7 @@
],
"description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#54)\n",
"markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L54)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57",
"id": "6c7dc22e356974c8446e07ee7f9d6ffe94f7cb1670066eecec7cbcac691cb8c8",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1787,6 +1794,7 @@
],
"description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#61)\n",
"markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L61)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64",
"id": "3e416561dc117d230bbee97788f5a0ff851da92f1def8fb5d7b94461ee6bfbc0",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2039,6 +2047,7 @@
],
"description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#68)\n",
"markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L68)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71",
"id": "9a6a2aee598cf4c282006337a3b8599c708487d1942e9ddfe3193581cbe1708e",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2223,6 +2232,7 @@
],
"description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#124)\n",
"markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L124)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125",
"id": "24de80ae388956295db544441f5ab9326af42bd4fcb34e232a23af952d7fe333",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2407,6 +2417,7 @@
],
"description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#128)\n",
"markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L128)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129",
"id": "60917b5197ecd42e5554643c32624ec6fc2a46bc8da2b3627eddcd68cf2ce9f5",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2591,6 +2602,7 @@
],
"description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#132)\n",
"markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L132)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133",
"id": "9efb75e5f6647209e01d4053c1bf76e69bf07d6578864711e2302336f250d72e",
"check": "incorrect-equality",
"impact": "Medium",
diff --git a/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json b/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json
index ba1612ba0..777627263 100644
--- a/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json
+++ b/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json
@@ -143,6 +143,7 @@
],
"description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#21-23) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(address(this)) == 10) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#22)\n",
"markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(address(this)) == 10)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23",
"id": "867a3b92771da558ee2693d8c81dc2c154b0effac8153ca43ccb183b05245310",
"check": "incorrect-equality",
"impact": "Medium",
@@ -291,6 +292,7 @@
],
"description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#25-27) uses a dangerous strict equality:\n\t- require(bool)(erc.balanceOf(msg.sender) == 10) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#26)\n",
"markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27) uses a dangerous strict equality:\n\t- [require(bool)(erc.balanceOf(msg.sender) == 10)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L26)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27",
"id": "22a2bf7ecbe8d0217cce4d0304fc02a45968167dd408ad85ad4bfb0ed5012dd0",
"check": "incorrect-equality",
"impact": "Medium",
@@ -539,6 +541,7 @@
],
"description": "TestContractBalance.bad0() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#32-35) uses a dangerous strict equality:\n\t- require(bool)(address(address(this)).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#33)\n",
"markdown": "[TestContractBalance.bad0()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35) uses a dangerous strict equality:\n\t- [require(bool)(address(address(this)).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L33)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35",
"id": "c64584a1db93863bfb52a62fae244e6c2f6bc0c1dd1a5662f50965428d978a15",
"check": "incorrect-equality",
"impact": "Medium",
@@ -787,6 +790,7 @@
],
"description": "TestContractBalance.bad1() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#37-40) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(address(this)).balance) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#38)\n",
"markdown": "[TestContractBalance.bad1()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(address(this)).balance)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L38)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40",
"id": "00429822fd7d6870bca827c11ac6f1f552b243431b3db4a937da8c0c616aabb9",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1035,6 +1039,7 @@
],
"description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#43)\n",
"markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L43)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45",
"id": "d848b883cd27d256e7ea367c14afae2cc206b22bc62e0023eeff561e4bc9bee6",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1283,6 +1288,7 @@
],
"description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#48)\n",
"markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L48)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50",
"id": "746e8e07ef37b33e1f1e49ae013311ea0873d62d00caacaf08988735eb939ddc",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1535,6 +1541,7 @@
],
"description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#54)\n",
"markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L54)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57",
"id": "03481d21bd25c9db2606e6ac246fbf5a047d5fb094422fe19a5fabf7032e1818",
"check": "incorrect-equality",
"impact": "Medium",
@@ -1787,6 +1794,7 @@
],
"description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#61)\n",
"markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L61)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64",
"id": "4c491b63ac50b7636f4718de626a471d8172b614b1355e937d7a071aec148691",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2039,6 +2047,7 @@
],
"description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#68)\n",
"markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L68)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71",
"id": "48fdf24089d0b55885acd69fec55d6860251775e0e1b0317182476ff9015bd8d",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2223,6 +2232,7 @@
],
"description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#124)\n",
"markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L124)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125",
"id": "41fcdc7b875eec5595e7d7518953b246ab69a7baac064512fde30b157c0595f2",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2407,6 +2417,7 @@
],
"description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#128)\n",
"markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L128)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129",
"id": "b60d82f030e9230cf782621e9d04910c2dbe77a0adc6dcb435e642eb567ef330",
"check": "incorrect-equality",
"impact": "Medium",
@@ -2591,6 +2602,7 @@
],
"description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#132)\n",
"markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L132)\n",
+ "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133",
"id": "78aad151c32e2fa0c7cb17095afae17fad81d613a486d78dabb016b26396ed12",
"check": "incorrect-equality",
"impact": "Medium",
diff --git a/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json
index bf6511b98..bfb2d8224 100644
--- a/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json
+++ b/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json
@@ -99,6 +99,7 @@
],
"description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#2-6) does not always execute _; or revert",
"markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6",
"id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3",
"check": "incorrect-modifier",
"impact": "Low",
@@ -203,6 +204,7 @@
],
"description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#18-22) does not always execute _; or revert",
"markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22",
"id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc",
"check": "incorrect-modifier",
"impact": "Low",
@@ -314,6 +316,7 @@
],
"description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#30-41) does not always execute _; or revert",
"markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41",
"id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f",
"check": "incorrect-modifier",
"impact": "Low",
diff --git a/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json
index 5b7985959..257869740 100644
--- a/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json
+++ b/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json
@@ -99,6 +99,7 @@
],
"description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#2-6) does not always execute _; or revert",
"markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6",
"id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3",
"check": "incorrect-modifier",
"impact": "Low",
@@ -203,6 +204,7 @@
],
"description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#18-22) does not always execute _; or revert",
"markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22",
"id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc",
"check": "incorrect-modifier",
"impact": "Low",
@@ -314,6 +316,7 @@
],
"description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#30-41) does not always execute _; or revert",
"markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41",
"id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f",
"check": "incorrect-modifier",
"impact": "Low",
diff --git a/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json
index 6f6d5f46d..c6023add7 100644
--- a/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json
+++ b/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json
@@ -99,6 +99,7 @@
],
"description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#2-6) does not always execute _; or revert",
"markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6",
"id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3",
"check": "incorrect-modifier",
"impact": "Low",
@@ -203,6 +204,7 @@
],
"description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#18-22) does not always execute _; or revert",
"markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22",
"id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc",
"check": "incorrect-modifier",
"impact": "Low",
@@ -314,6 +316,7 @@
],
"description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#30-41) does not always execute _; or revert",
"markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41",
"id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f",
"check": "incorrect-modifier",
"impact": "Low",
diff --git a/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json b/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json
index 47c566ccc..8d70ff617 100644
--- a/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json
+++ b/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json
@@ -99,6 +99,7 @@
],
"description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#2-6) does not always execute _; or revert",
"markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6",
"id": "e83e0a544940d3ddd9ea8fe0ae0277bec4660926110809cfd28153817969c3a3",
"check": "incorrect-modifier",
"impact": "Low",
@@ -203,6 +204,7 @@
],
"description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#18-22) does not always execute _; or revert",
"markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22",
"id": "35d07e11ee69abb8fb0e63dddefc1ab059bf450c71c992f70c5f96e484fbcbcc",
"check": "incorrect-modifier",
"impact": "Low",
@@ -314,6 +316,7 @@
],
"description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#30-41) does not always execute _; or revert",
"markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41) does not always execute _; or revert",
+ "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41",
"id": "0ba95ef5faf2a00c06d4f83c5159220d1cd06bc346a1287a6634334b7a0c433f",
"check": "incorrect-modifier",
"impact": "Low",
diff --git a/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json b/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json
index 1970abe31..6f00f629e 100644
--- a/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json
+++ b/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json
@@ -57,6 +57,7 @@
],
"description": "C.c (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) uses an dangerous unary operator: (b = + 1)\n",
"markdown": "[C.c](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4) uses an dangerous unary operator: (b = + 1)\n",
+ "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4",
"id": "98d05a4acbe13ff0e6fa795af35dc2002541cc7607f3f4d7ffb356f9d33681bd",
"check": "incorrect-unary",
"impact": "Low",
@@ -209,6 +210,7 @@
],
"description": "C.f() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = + 144444 (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#8)\n",
"markdown": "[C.f()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = + 144444](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L8)\n",
+ "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14",
"id": "1c34192b7e1340c90c351ae8dcdbf0ce55436d33da941fd80ca110fadc120471",
"check": "incorrect-unary",
"impact": "Low",
@@ -361,6 +363,7 @@
],
"description": "C.f() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = (x = + 1) (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#9)\n",
"markdown": "[C.f()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = (x = + 1)](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L9)\n",
+ "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14",
"id": "67f0d53f0f21e8f7ef05bc38503626b2382c6bd6863d70c857c2c6ad58ea0c96",
"check": "incorrect-unary",
"impact": "Low",
@@ -525,6 +528,7 @@
],
"description": "C.slitherConstructorVariables() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#1-15) uses an dangerous unary operator: c = (b = + 1) (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#4)\n",
"markdown": "[C.slitherConstructorVariables()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15) uses an dangerous unary operator: [c = (b = + 1)](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15",
"id": "985ddf90b5ace46a66272275a4c46e1a8964ba0adbb8223a6c19506145ed2f8c",
"check": "incorrect-unary",
"impact": "Low",
diff --git a/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json b/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json
index b2709eb62..218b18db6 100644
--- a/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json
+++ b/tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json
@@ -70,6 +70,7 @@
],
"description": "Contract locking ether found in :\n\tContract OnlyLocked (tests/detectors/locked-ether/0.4.25/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/detectors/locked-ether/0.4.25/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n",
"markdown": "Contract locking ether found in :\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.4.25/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/detectors/locked-ether/0.4.25/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n",
+ "first_markdown_element": "tests/detectors/locked-ether/0.4.25/locked_ether.sol#L26",
"id": "38b2d47301e59ffa598ec48a8e874e6a7070d6cf4e4ab2909f33a8b72fc28a4b",
"check": "locked-ether",
"impact": "Medium",
diff --git a/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json b/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json
index 789f6692c..fcd8f971e 100644
--- a/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json
+++ b/tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json
@@ -70,6 +70,7 @@
],
"description": "Contract locking ether found in :\n\tContract OnlyLocked (tests/detectors/locked-ether/0.5.16/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/detectors/locked-ether/0.5.16/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n",
"markdown": "Contract locking ether found in :\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.5.16/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/detectors/locked-ether/0.5.16/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n",
+ "first_markdown_element": "tests/detectors/locked-ether/0.5.16/locked_ether.sol#L26",
"id": "38b2d47301e59ffa598ec48a8e874e6a7070d6cf4e4ab2909f33a8b72fc28a4b",
"check": "locked-ether",
"impact": "Medium",
diff --git a/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json b/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json
index c19f1915d..38be88b79 100644
--- a/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json
+++ b/tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json
@@ -70,6 +70,7 @@
],
"description": "Contract locking ether found in :\n\tContract OnlyLocked (tests/detectors/locked-ether/0.6.11/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/detectors/locked-ether/0.6.11/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n",
"markdown": "Contract locking ether found in :\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.6.11/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/detectors/locked-ether/0.6.11/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n",
+ "first_markdown_element": "tests/detectors/locked-ether/0.6.11/locked_ether.sol#L26",
"id": "1eb31cab3df894265d213a6a2e85c7fe840a4021a598ab09f1052a86c897d886",
"check": "locked-ether",
"impact": "Medium",
diff --git a/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json b/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json
index 42a44422c..c82d493eb 100644
--- a/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json
+++ b/tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json
@@ -70,6 +70,7 @@
],
"description": "Contract locking ether found in :\n\tContract OnlyLocked (tests/detectors/locked-ether/0.7.6/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/detectors/locked-ether/0.7.6/locked_ether.sol#4-6)\n\tBut does not have a function to withdraw the ether\n",
"markdown": "Contract locking ether found in :\n\tContract [OnlyLocked](tests/detectors/locked-ether/0.7.6/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/detectors/locked-ether/0.7.6/locked_ether.sol#L4-L6)\n\tBut does not have a function to withdraw the ether\n",
+ "first_markdown_element": "tests/detectors/locked-ether/0.7.6/locked_ether.sol#L26",
"id": "1eb31cab3df894265d213a6a2e85c7fe840a4021a598ab09f1052a86c897d886",
"check": "locked-ether",
"impact": "Medium",
diff --git a/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json b/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json
index f8ae80ec7..4da4eb671 100644
--- a/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json
+++ b/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json
@@ -115,6 +115,7 @@
],
"description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#6)\n",
"markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L5-L7",
"id": "77c8d8f4e884ababeb6c197067a580529b5bbec638ebc1ac2761719de99c5ed1",
"check": "low-level-calls",
"impact": "Informational",
diff --git a/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json b/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json
index eaa46631c..aa2103543 100644
--- a/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json
+++ b/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json
@@ -115,6 +115,7 @@
],
"description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#6)\n",
"markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L5-L7",
"id": "63c001820deebca3c0e65f71e6d2c6ada9534d4aefd1a317e2332af26533f42e",
"check": "low-level-calls",
"impact": "Informational",
diff --git a/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json b/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json
index 506b70efa..2cdf61055 100644
--- a/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json
+++ b/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json
@@ -115,6 +115,7 @@
],
"description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#6)\n",
"markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L5-L7",
"id": "af64e4f5c7127bf9646b2f1810f9977d0de6d8c27683a42915067fc0efa11f75",
"check": "low-level-calls",
"impact": "Informational",
diff --git a/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json b/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json
index acb8f9381..290cec2e4 100644
--- a/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json
+++ b/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json
@@ -115,6 +115,7 @@
],
"description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#5-7):\n\t- _receiver.call{gas: 7777,value: msg.value}() (tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#6)\n",
"markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L5-L7):\n\t- [_receiver.call{gas: 7777,value: msg.value}()](tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L6)\n",
+ "first_markdown_element": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L5-L7",
"id": "ec014cc9f1ed1d83294a16253fc735b22f22eebba3953cdae61f6547550fd64d",
"check": "low-level-calls",
"impact": "Informational",
diff --git a/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json
index 164b00614..b8abfa2e5 100644
--- a/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json
+++ b/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json
@@ -177,6 +177,7 @@
],
"description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#10)\n",
"markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11",
"id": "8c8313f12eb11c77c9acf1f683fe6d44a79ca1445e0d92cffd79c04a3462d3e9",
"check": "mapping-deletion",
"impact": "Medium",
@@ -416,6 +417,7 @@
],
"description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#28-31) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#30)\n",
"markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L30)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31",
"id": "6c8848cdccd246661513f2c5d83d03b4a1cb4f07e198a671ce0f6d27fda257ad",
"check": "mapping-deletion",
"impact": "Medium",
diff --git a/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json
index c447dd328..deaf2750d 100644
--- a/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json
+++ b/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json
@@ -177,6 +177,7 @@
],
"description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#10)\n",
"markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11",
"id": "4c08076815986fec8b813cb66a7f7fe7002a5e87179bbd46e59279da2f46e992",
"check": "mapping-deletion",
"impact": "Medium",
@@ -419,6 +420,7 @@
],
"description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#31)\n",
"markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L31)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32",
"id": "22a793185576322b937d4887f31b8cb0b7c1cef90dde52abceb5ce57918267ec",
"check": "mapping-deletion",
"impact": "Medium",
diff --git a/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json
index 7e4191c28..f6e59ae14 100644
--- a/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json
+++ b/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json
@@ -177,6 +177,7 @@
],
"description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#10)\n",
"markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11",
"id": "08c9067f48ad8538ab7e311aacd07ac4cc0ffbfe6ce2ccfd9ba9cd2a9e799eda",
"check": "mapping-deletion",
"impact": "Medium",
@@ -419,6 +420,7 @@
],
"description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#31)\n",
"markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L31)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32",
"id": "6b7def5c6f4b5683fbf00d5b66df0f54110a6af8fbd0781b352dd72df5baccbc",
"check": "mapping-deletion",
"impact": "Medium",
diff --git a/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json b/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json
index 774d72ce7..d7a4397fc 100644
--- a/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json
+++ b/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json
@@ -177,6 +177,7 @@
],
"description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#10)\n",
"markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11",
"id": "a6c44f7353505e72d74433eef65af07e90cc95c3797d5b395766255f0ecb91e1",
"check": "mapping-deletion",
"impact": "Medium",
@@ -419,6 +420,7 @@
],
"description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#31)\n",
"markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L31)\n",
+ "first_markdown_element": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32",
"id": "8b8d404f4b41f38833ede30ad76bd30b8ad035a2efc18a292426e554599b549b",
"check": "mapping-deletion",
"impact": "Medium",
diff --git a/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json
index 008e6007a..720e4350c 100644
--- a/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json
+++ b/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json
@@ -267,6 +267,7 @@
],
"description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#11)\n",
"markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10",
"id": "4215a731670a0150f45d8cd682dc81ed85ffd5268cbad6ac9fe8bd044e54f74d",
"check": "missing-zero-check",
"impact": "Low",
@@ -673,6 +674,7 @@
],
"description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#16)\n",
"markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14",
"id": "dd2af335a7782a70944073bf1cf5dea69845ddcf6a45ea86a9fcf59793b151c8",
"check": "missing-zero-check",
"impact": "Low",
@@ -945,6 +947,7 @@
],
"description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#20)\n",
"markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19",
"id": "16629b342aad1ee3e0d3f933781eea91f1cb34b1770f84cb38a5d911e15b3476",
"check": "missing-zero-check",
"impact": "Low",
@@ -1219,6 +1222,7 @@
],
"description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#24)\n",
"markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23",
"id": "27318d51c369e1e169a889a6c2678a023a22e1e3a691ab41a429684e338d2d1e",
"check": "missing-zero-check",
"impact": "Low",
@@ -1491,6 +1495,7 @@
],
"description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#29)\n",
"markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L29)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28",
"id": "34b73dbecfa159bc5631cb95ff2343c92792d80f448fc425b7d1bba399108073",
"check": "missing-zero-check",
"impact": "Low",
diff --git a/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json
index 59df1fd26..ff1e00c60 100644
--- a/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json
+++ b/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json
@@ -267,6 +267,7 @@
],
"description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#11)\n",
"markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10",
"id": "ac59285350b35c2b885a6e9efe641474ae51b830fad5856f622fe264096e44cd",
"check": "missing-zero-check",
"impact": "Low",
@@ -673,6 +674,7 @@
],
"description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#16)\n",
"markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14",
"id": "3d9ba6630d8f1357ab26196f519d74d6410a8e52994ae341d26a17d466200308",
"check": "missing-zero-check",
"impact": "Low",
@@ -945,6 +947,7 @@
],
"description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#20)\n",
"markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19",
"id": "654c703c39420ad30e6624b6a98892faffc5e90820e7aabfd3cd66fe8870b7b8",
"check": "missing-zero-check",
"impact": "Low",
@@ -1219,6 +1222,7 @@
],
"description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#24)\n",
"markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23",
"id": "98f43dd716a11685725ad4c615b07dd773bcf0f1c7710357fa1a5606084dd999",
"check": "missing-zero-check",
"impact": "Low",
@@ -1491,6 +1495,7 @@
],
"description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#29)\n",
"markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L29)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28",
"id": "aa90b9a8002d093f5996492eae0d441bde928e8187fc6d2790f973f6383d6095",
"check": "missing-zero-check",
"impact": "Low",
diff --git a/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json
index 6907fda3f..65f8c779f 100644
--- a/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json
+++ b/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json
@@ -267,6 +267,7 @@
],
"description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#11)\n",
"markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10",
"id": "1d2f6294ee0cfc4aae290fe04610e1df21d508008e75000ef017463482d78f95",
"check": "missing-zero-check",
"impact": "Low",
@@ -673,6 +674,7 @@
],
"description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#16)\n",
"markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14",
"id": "21de216080f0f27154e9b3cd2fef7ead38dacc945160b619923c33344d636826",
"check": "missing-zero-check",
"impact": "Low",
@@ -945,6 +947,7 @@
],
"description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#20)\n",
"markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19",
"id": "3d8300f19d40cb2f76fcb587f94e3dfc751319b119bd83af4cd7f962b680feb8",
"check": "missing-zero-check",
"impact": "Low",
@@ -1219,6 +1222,7 @@
],
"description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#24)\n",
"markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23",
"id": "efee9ceff8491c62ed42aab7c70b0a8d9c7731af8ecb304e6deafcc64a20c6f4",
"check": "missing-zero-check",
"impact": "Low",
@@ -1491,6 +1495,7 @@
],
"description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call.value(msg.value)() (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#29)\n",
"markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call.value(msg.value)()](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L29)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28",
"id": "174a4f81c4e872deda0a31c10f8136b52d60adc89ba9be1548b308a09e225763",
"check": "missing-zero-check",
"impact": "Low",
diff --git a/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json b/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json
index a6dfd04e8..b9e14ce41 100644
--- a/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json
+++ b/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json
@@ -267,6 +267,7 @@
],
"description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#11)\n",
"markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10",
"id": "2c8db81e6ce5a16bd76db4dd9d27d931037b6b06bacd06afa427e35f4dd22aa6",
"check": "missing-zero-check",
"impact": "Low",
@@ -673,6 +674,7 @@
],
"description": "C.bad1_send(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#14) lacks a zero-check on :\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#16)\n",
"markdown": "[C.bad1_send(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14) lacks a zero-check on :\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14",
"id": "1a145c4f40c60c9db09f5743139503a60b40be83dda9c57f8c47a400f1bc5b8a",
"check": "missing-zero-check",
"impact": "Low",
@@ -945,6 +947,7 @@
],
"description": "C.bad2_transfer(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#19) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#20)\n",
"markdown": "[C.bad2_transfer(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19",
"id": "f7028c02d7b7a78ef72a33c7b976bcb047206b9c82a9acc39cdf11a5e188208f",
"check": "missing-zero-check",
"impact": "Low",
@@ -1219,6 +1222,7 @@
],
"description": "C.bad3_transfer(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#23) lacks a zero-check on :\n\t\t- addr.transfer(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#24)\n",
"markdown": "[C.bad3_transfer(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23) lacks a zero-check on :\n\t\t- [addr.transfer(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23",
"id": "1cc3cad32b73e31e6d6f214b9a99b19c5bd5633ddf3ab58267a5870051c22a02",
"check": "missing-zero-check",
"impact": "Low",
@@ -1491,6 +1495,7 @@
],
"description": "C.bad4_call(address).addr (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#28) lacks a zero-check on :\n\t\t- addr.call{value: msg.value}() (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#29)\n",
"markdown": "[C.bad4_call(address).addr](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28) lacks a zero-check on :\n\t\t- [addr.call{value: msg.value}()](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L29)\n",
+ "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28",
"id": "64e549d94c8869ed8c827ad3ee766cb23d4e8a64bc9b19e06d593fa8942363b4",
"check": "missing-zero-check",
"impact": "Low",
diff --git a/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json b/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json
index cad20587f..b627e1e59 100644
--- a/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json
+++ b/tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json
@@ -72,6 +72,7 @@
],
"description": "Contract naming (tests/detectors/naming-convention/0.4.25/naming_convention.sol#3-48) is not in CapWords\n",
"markdown": "Contract [naming](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L3-L48) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L3-L48",
"id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85",
"check": "naming-convention",
"impact": "Informational",
@@ -171,6 +172,7 @@
],
"description": "Struct naming.test (tests/detectors/naming-convention/0.4.25/naming_convention.sol#14-16) is not in CapWords\n",
"markdown": "Struct [naming.test](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L14-L16) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L14-L16",
"id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf",
"check": "naming-convention",
"impact": "Informational",
@@ -269,6 +271,7 @@
],
"description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.4.25/naming_convention.sol#23) is not in CapWords\n",
"markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L23) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L23",
"id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405",
"check": "naming-convention",
"impact": "Informational",
@@ -370,6 +373,7 @@
],
"description": "Function naming.GetOne() (tests/detectors/naming-convention/0.4.25/naming_convention.sol#30-33) is not in mixedCase\n",
"markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L30-L33) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L30-L33",
"id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049",
"check": "naming-convention",
"impact": "Informational",
@@ -491,6 +495,7 @@
],
"description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.4.25/naming_convention.sol#35) is not in mixedCase\n",
"markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L35) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L35",
"id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad",
"check": "naming-convention",
"impact": "Informational",
@@ -588,6 +593,7 @@
],
"description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.4.25/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
"markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L9",
"id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90",
"check": "naming-convention",
"impact": "Informational",
@@ -685,6 +691,7 @@
],
"description": "Variable naming.Var_One (tests/detectors/naming-convention/0.4.25/naming_convention.sol#11) is not in mixedCase\n",
"markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L11) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L11",
"id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26",
"check": "naming-convention",
"impact": "Informational",
@@ -782,6 +789,7 @@
],
"description": "Enum naming.numbers (tests/detectors/naming-convention/0.4.25/naming_convention.sol#6) is not in CapWords\n",
"markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L6) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L6",
"id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2",
"check": "naming-convention",
"impact": "Informational",
@@ -882,6 +890,7 @@
],
"description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.4.25/naming_convention.sol#41-43) is not in mixedCase\n",
"markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L41-L43) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L41-L43",
"id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895",
"check": "naming-convention",
"impact": "Informational",
@@ -970,6 +979,7 @@
],
"description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.4.25/naming_convention.sol#59) is not in mixedCase\n",
"markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L59) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L59",
"id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e",
"check": "naming-convention",
"impact": "Informational",
@@ -1036,6 +1046,7 @@
],
"description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.4.25/naming_convention.sol#56) is not in mixedCase\n",
"markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L56) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L56",
"id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3",
"check": "naming-convention",
"impact": "Informational",
@@ -1102,6 +1113,7 @@
],
"description": "Variable T.l (tests/detectors/naming-convention/0.4.25/naming_convention.sol#67) used l, O, I, which should not be used\n",
"markdown": "Variable [T.l](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L67) used l, O, I, which should not be used\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L67",
"id": "b595f9e6d03b8b501b7c4a9bf8ff0ad9bf11448a25f53d63ab5031c95f8ae89c",
"check": "naming-convention",
"impact": "Informational",
diff --git a/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json b/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json
index ee2cf20c7..358b35cc0 100644
--- a/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json
+++ b/tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json
@@ -72,6 +72,7 @@
],
"description": "Contract naming (tests/detectors/naming-convention/0.5.16/naming_convention.sol#3-48) is not in CapWords\n",
"markdown": "Contract [naming](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L3-L48) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L3-L48",
"id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85",
"check": "naming-convention",
"impact": "Informational",
@@ -171,6 +172,7 @@
],
"description": "Struct naming.test (tests/detectors/naming-convention/0.5.16/naming_convention.sol#14-16) is not in CapWords\n",
"markdown": "Struct [naming.test](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L14-L16) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L14-L16",
"id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf",
"check": "naming-convention",
"impact": "Informational",
@@ -269,6 +271,7 @@
],
"description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.5.16/naming_convention.sol#23) is not in CapWords\n",
"markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L23) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L23",
"id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405",
"check": "naming-convention",
"impact": "Informational",
@@ -370,6 +373,7 @@
],
"description": "Function naming.GetOne() (tests/detectors/naming-convention/0.5.16/naming_convention.sol#30-33) is not in mixedCase\n",
"markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L30-L33) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L30-L33",
"id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049",
"check": "naming-convention",
"impact": "Informational",
@@ -491,6 +495,7 @@
],
"description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.5.16/naming_convention.sol#35) is not in mixedCase\n",
"markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L35) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L35",
"id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad",
"check": "naming-convention",
"impact": "Informational",
@@ -588,6 +593,7 @@
],
"description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.5.16/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
"markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L9",
"id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90",
"check": "naming-convention",
"impact": "Informational",
@@ -685,6 +691,7 @@
],
"description": "Variable naming.Var_One (tests/detectors/naming-convention/0.5.16/naming_convention.sol#11) is not in mixedCase\n",
"markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L11) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L11",
"id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26",
"check": "naming-convention",
"impact": "Informational",
@@ -782,6 +789,7 @@
],
"description": "Enum naming.numbers (tests/detectors/naming-convention/0.5.16/naming_convention.sol#6) is not in CapWords\n",
"markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L6) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L6",
"id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2",
"check": "naming-convention",
"impact": "Informational",
@@ -882,6 +890,7 @@
],
"description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.5.16/naming_convention.sol#41-43) is not in mixedCase\n",
"markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L41-L43) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L41-L43",
"id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895",
"check": "naming-convention",
"impact": "Informational",
@@ -970,6 +979,7 @@
],
"description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.5.16/naming_convention.sol#59) is not in mixedCase\n",
"markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L59) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L59",
"id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e",
"check": "naming-convention",
"impact": "Informational",
@@ -1036,6 +1046,7 @@
],
"description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.5.16/naming_convention.sol#56) is not in mixedCase\n",
"markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L56) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L56",
"id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3",
"check": "naming-convention",
"impact": "Informational",
@@ -1102,6 +1113,7 @@
],
"description": "Variable T.l (tests/detectors/naming-convention/0.5.16/naming_convention.sol#67) used l, O, I, which should not be used\n",
"markdown": "Variable [T.l](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L67) used l, O, I, which should not be used\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L67",
"id": "b595f9e6d03b8b501b7c4a9bf8ff0ad9bf11448a25f53d63ab5031c95f8ae89c",
"check": "naming-convention",
"impact": "Informational",
diff --git a/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json b/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json
index 5ca2528bd..15e9e8ad0 100644
--- a/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json
+++ b/tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json
@@ -72,6 +72,7 @@
],
"description": "Contract naming (tests/detectors/naming-convention/0.6.11/naming_convention.sol#3-48) is not in CapWords\n",
"markdown": "Contract [naming](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L3-L48) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L3-L48",
"id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85",
"check": "naming-convention",
"impact": "Informational",
@@ -171,6 +172,7 @@
],
"description": "Struct naming.test (tests/detectors/naming-convention/0.6.11/naming_convention.sol#14-16) is not in CapWords\n",
"markdown": "Struct [naming.test](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L14-L16) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L14-L16",
"id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf",
"check": "naming-convention",
"impact": "Informational",
@@ -269,6 +271,7 @@
],
"description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.6.11/naming_convention.sol#23) is not in CapWords\n",
"markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L23) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L23",
"id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405",
"check": "naming-convention",
"impact": "Informational",
@@ -370,6 +373,7 @@
],
"description": "Function naming.GetOne() (tests/detectors/naming-convention/0.6.11/naming_convention.sol#30-33) is not in mixedCase\n",
"markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L30-L33) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L30-L33",
"id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049",
"check": "naming-convention",
"impact": "Informational",
@@ -491,6 +495,7 @@
],
"description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.6.11/naming_convention.sol#35) is not in mixedCase\n",
"markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L35) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L35",
"id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad",
"check": "naming-convention",
"impact": "Informational",
@@ -588,6 +593,7 @@
],
"description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.6.11/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
"markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L9",
"id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90",
"check": "naming-convention",
"impact": "Informational",
@@ -685,6 +691,7 @@
],
"description": "Variable naming.Var_One (tests/detectors/naming-convention/0.6.11/naming_convention.sol#11) is not in mixedCase\n",
"markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L11) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L11",
"id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26",
"check": "naming-convention",
"impact": "Informational",
@@ -782,6 +789,7 @@
],
"description": "Enum naming.numbers (tests/detectors/naming-convention/0.6.11/naming_convention.sol#6) is not in CapWords\n",
"markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L6) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L6",
"id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2",
"check": "naming-convention",
"impact": "Informational",
@@ -882,6 +890,7 @@
],
"description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.6.11/naming_convention.sol#41-43) is not in mixedCase\n",
"markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L41-L43) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L41-L43",
"id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895",
"check": "naming-convention",
"impact": "Informational",
@@ -970,6 +979,7 @@
],
"description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.6.11/naming_convention.sol#59) is not in mixedCase\n",
"markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L59) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L59",
"id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e",
"check": "naming-convention",
"impact": "Informational",
@@ -1036,6 +1046,7 @@
],
"description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.6.11/naming_convention.sol#56) is not in mixedCase\n",
"markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L56) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L56",
"id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3",
"check": "naming-convention",
"impact": "Informational",
@@ -1102,6 +1113,7 @@
],
"description": "Variable T.l (tests/detectors/naming-convention/0.6.11/naming_convention.sol#67) used l, O, I, which should not be used\n",
"markdown": "Variable [T.l](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L67) used l, O, I, which should not be used\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L67",
"id": "b595f9e6d03b8b501b7c4a9bf8ff0ad9bf11448a25f53d63ab5031c95f8ae89c",
"check": "naming-convention",
"impact": "Informational",
diff --git a/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json b/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json
index b0055d962..8a9e4568d 100644
--- a/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json
+++ b/tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json
@@ -72,6 +72,7 @@
],
"description": "Contract naming (tests/detectors/naming-convention/0.7.6/naming_convention.sol#3-48) is not in CapWords\n",
"markdown": "Contract [naming](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L3-L48) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L3-L48",
"id": "7247d550fb327e3aeb21c82714137e5b45a7e9eeaa6a1bc878102c8081033f85",
"check": "naming-convention",
"impact": "Informational",
@@ -171,6 +172,7 @@
],
"description": "Struct naming.test (tests/detectors/naming-convention/0.7.6/naming_convention.sol#14-16) is not in CapWords\n",
"markdown": "Struct [naming.test](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L14-L16) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L14-L16",
"id": "0ef3ea412cb30b1f0df5fa2af4a7a06e2bf0373fae0770fd9e301aed12c209cf",
"check": "naming-convention",
"impact": "Informational",
@@ -269,6 +271,7 @@
],
"description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.7.6/naming_convention.sol#23) is not in CapWords\n",
"markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L23) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L23",
"id": "978ecf4a2c8b96d947e60f6601cf60d0e25e07ebe80ebbc37a7e7f279afd1405",
"check": "naming-convention",
"impact": "Informational",
@@ -370,6 +373,7 @@
],
"description": "Function naming.GetOne() (tests/detectors/naming-convention/0.7.6/naming_convention.sol#30-33) is not in mixedCase\n",
"markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L30-L33) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L30-L33",
"id": "bf6f97d6a82b84284efdade52d01bd6112007426e2e88d1568190d63c5c4a049",
"check": "naming-convention",
"impact": "Informational",
@@ -491,6 +495,7 @@
],
"description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.7.6/naming_convention.sol#35) is not in mixedCase\n",
"markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L35) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L35",
"id": "f03bff0b488524254e19ff7d688d34211cd2f29934e22417c9f1fa43fc4a08ad",
"check": "naming-convention",
"impact": "Informational",
@@ -588,6 +593,7 @@
],
"description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.7.6/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
"markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L9",
"id": "596c2e8064f8f2df55cd5c878eb59c0a74ac7f20719c420d8af307f2431a1a90",
"check": "naming-convention",
"impact": "Informational",
@@ -685,6 +691,7 @@
],
"description": "Variable naming.Var_One (tests/detectors/naming-convention/0.7.6/naming_convention.sol#11) is not in mixedCase\n",
"markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L11) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L11",
"id": "34b7c817201b3f3086fc3541f140898d9e9aabe999b1c0a6ef8639ec04351f26",
"check": "naming-convention",
"impact": "Informational",
@@ -782,6 +789,7 @@
],
"description": "Enum naming.numbers (tests/detectors/naming-convention/0.7.6/naming_convention.sol#6) is not in CapWords\n",
"markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L6) is not in CapWords\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L6",
"id": "7c87b076ea2865060182cf11d155caadb1dcea415ccce0ca8563a74a01611fc2",
"check": "naming-convention",
"impact": "Informational",
@@ -882,6 +890,7 @@
],
"description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.7.6/naming_convention.sol#41-43) is not in mixedCase\n",
"markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L41-L43) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L41-L43",
"id": "b8a754a01bd47127f00032cdedd0ade3e27e6543631d8f5bc9e44365ab732895",
"check": "naming-convention",
"impact": "Informational",
@@ -970,6 +979,7 @@
],
"description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.7.6/naming_convention.sol#59) is not in mixedCase\n",
"markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L59) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L59",
"id": "818962ad9f50f13eb87b5c7deade22666431945fb60055f572b38246cfbf311e",
"check": "naming-convention",
"impact": "Informational",
@@ -1036,6 +1046,7 @@
],
"description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.7.6/naming_convention.sol#56) is not in mixedCase\n",
"markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L56) is not in mixedCase\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L56",
"id": "8acd53815786acad5b92b51366daf79182a67ab438daa41a6e1ec8a9601fa9a3",
"check": "naming-convention",
"impact": "Informational",
@@ -1102,6 +1113,7 @@
],
"description": "Variable T.l (tests/detectors/naming-convention/0.7.6/naming_convention.sol#67) used l, O, I, which should not be used\n",
"markdown": "Variable [T.l](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L67) used l, O, I, which should not be used\n",
+ "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L67",
"id": "b595f9e6d03b8b501b7c4a9bf8ff0ad9bf11448a25f53d63ab5031c95f8ae89c",
"check": "naming-convention",
"impact": "Informational",
diff --git a/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json b/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json
index cdef8c74b..383c24ef3 100644
--- a/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json
+++ b/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json
@@ -57,6 +57,7 @@
],
"description": "Different versions of Solidity is used in :\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- ^0.4.24 (tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#1)\n\t- ^0.4.25 (tests/detectors/pragma/0.4.25/pragma.0.4.25.sol#1)\n",
"markdown": "Different versions of Solidity is used in :\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- [^0.4.24](tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#L1)\n\t- [^0.4.25](tests/detectors/pragma/0.4.25/pragma.0.4.25.sol#L1)\n",
+ "first_markdown_element": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#L1",
"id": "54735fb882b1f9775c73514464a814ee233d22cfb9eb38621a7fd5a80b93deca",
"check": "pragma",
"impact": "Informational",
diff --git a/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json b/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json
index 95349f53f..6408b67fc 100644
--- a/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json
+++ b/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json
@@ -57,6 +57,7 @@
],
"description": "Different versions of Solidity is used in :\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- ^0.5.15 (tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#1)\n\t- ^0.5.16 (tests/detectors/pragma/0.5.16/pragma.0.5.16.sol#1)\n",
"markdown": "Different versions of Solidity is used in :\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- [^0.5.15](tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#L1)\n\t- [^0.5.16](tests/detectors/pragma/0.5.16/pragma.0.5.16.sol#L1)\n",
+ "first_markdown_element": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#L1",
"id": "3bc166503cc88489de83ca39f0dab291649a655262cb6fa3bdef885c290667de",
"check": "pragma",
"impact": "Informational",
diff --git a/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json b/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json
index 7a429b7ff..aee0ccebd 100644
--- a/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json
+++ b/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json
@@ -57,6 +57,7 @@
],
"description": "Different versions of Solidity is used in :\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- ^0.6.10 (tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#1)\n\t- ^0.6.11 (tests/detectors/pragma/0.6.11/pragma.0.6.11.sol#1)\n",
"markdown": "Different versions of Solidity is used in :\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- [^0.6.10](tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#L1)\n\t- [^0.6.11](tests/detectors/pragma/0.6.11/pragma.0.6.11.sol#L1)\n",
+ "first_markdown_element": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#L1",
"id": "ac4d13e962f946f674a568e134a2d9db2449eaf7d49cc43cb39a8a4822963b27",
"check": "pragma",
"impact": "Informational",
diff --git a/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json b/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json
index ba99ffd39..6df195ca5 100644
--- a/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json
+++ b/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json
@@ -57,6 +57,7 @@
],
"description": "Different versions of Solidity is used in :\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- ^0.7.5 (tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#1)\n\t- ^0.7.6 (tests/detectors/pragma/0.7.6/pragma.0.7.6.sol#1)\n",
"markdown": "Different versions of Solidity is used in :\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- [^0.7.5](tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#L1)\n\t- [^0.7.6](tests/detectors/pragma/0.7.6/pragma.0.7.6.sol#L1)\n",
+ "first_markdown_element": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#L1",
"id": "597d3c331984072a9736ee79c2c673b49ad9e38fcf2086c845f48b6fe1521dae",
"check": "pragma",
"impact": "Informational",
diff --git a/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json b/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json
index 6fc6c9d13..92d62c12c 100644
--- a/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json
+++ b/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json
@@ -60,6 +60,7 @@
],
"description": "Bug.testMapping (tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#14) is a public mapping with nested variables\n",
"markdown": "[Bug.testMapping](tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14) is a public mapping with nested variables\n",
+ "first_markdown_element": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14",
"id": "100978112524def620b003331f34b2b51eb78cae6f7eb2793d9671b4b7bb858a",
"check": "public-mappings-nested",
"impact": "High",
diff --git a/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json b/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json
index 6828f46d0..5856f4527 100644
--- a/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json
+++ b/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json
@@ -116,6 +116,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L6",
"id": "5e6cc88b3d8b0ef5d6247751e3b9cf045557e07c6f0de8d9f1270db008fca82a",
"check": "redundant-statements",
"impact": "Informational",
@@ -237,6 +238,7 @@
],
"description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L7",
"id": "da776628bba71bca43caf77bb06a7055fe3c0f4f18a30274c5cb508bcb3a27b4",
"check": "redundant-statements",
"impact": "Informational",
@@ -358,6 +360,7 @@
],
"description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L8",
"id": "cb9ace5d0188d80bdc530d3760b41a1dcf1a4c10151b720e468550bb22be0e74",
"check": "redundant-statements",
"impact": "Informational",
@@ -480,6 +483,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L12",
"id": "7423f2beb0d066fc4e193c27dd50b172186e9539b778ab72bf950dbe872df720",
"check": "redundant-statements",
"impact": "Informational",
@@ -602,6 +606,7 @@
],
"description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L13",
"id": "e0137cf6a61eb49d07e1a67a7cdfd0cb82cac0402cded9f1cfb85ae1e6e8d3fe",
"check": "redundant-statements",
"impact": "Informational",
@@ -724,6 +729,7 @@
],
"description": "Redundant expression \"test (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L14",
"id": "c3c9961e4467e57974929ecfaeb34a0923fc257422a7705c9d1b14257cfe0c3a",
"check": "redundant-statements",
"impact": "Informational",
diff --git a/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json b/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json
index a687c5eca..2f09ce19b 100644
--- a/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json
+++ b/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json
@@ -116,6 +116,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L6",
"id": "58d73cb2126e8c76752e57c69feeed96ee7db0cc50cf33c0f92679525acc26e9",
"check": "redundant-statements",
"impact": "Informational",
@@ -237,6 +238,7 @@
],
"description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L7",
"id": "f57f949deb97e88dedd17864427a4941d1395be24db436d3a45945a45c53b919",
"check": "redundant-statements",
"impact": "Informational",
@@ -358,6 +360,7 @@
],
"description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L8",
"id": "faaa2cdb764d49e4d06709c566d903cc4b222634a27b31bbbb0217a13b84aa62",
"check": "redundant-statements",
"impact": "Informational",
@@ -480,6 +483,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L12",
"id": "f21c726ae13fb80091dca415c8d15bf8999c0197b56a65bcbabc4cb86963efe7",
"check": "redundant-statements",
"impact": "Informational",
@@ -602,6 +606,7 @@
],
"description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L13",
"id": "342d8ac4c8c6e96ca7ca18f4bb9abed731c08b4c19a4461151ea48fc503be342",
"check": "redundant-statements",
"impact": "Informational",
@@ -724,6 +729,7 @@
],
"description": "Redundant expression \"test (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L14",
"id": "b36c497f678f32a5479ead924c310a0c86b398e465f69b0e7365f06befaef172",
"check": "redundant-statements",
"impact": "Informational",
diff --git a/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json b/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json
index e69c3fbd9..f57476a4a 100644
--- a/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json
+++ b/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json
@@ -116,6 +116,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L6",
"id": "c58083eaf5653fc9616833c617157456ad9088c4638009d9cdfebdc1445671bd",
"check": "redundant-statements",
"impact": "Informational",
@@ -237,6 +238,7 @@
],
"description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L7",
"id": "f0fef441fabe415b9cbc63bfc5a2a5c69f6248ce22d1bd94f73979f928cb7dba",
"check": "redundant-statements",
"impact": "Informational",
@@ -358,6 +360,7 @@
],
"description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L8",
"id": "1ffcec7a83522ce311c8410e5523283b97944a0c27356e3141b26a7f32a022d3",
"check": "redundant-statements",
"impact": "Informational",
@@ -480,6 +483,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L12",
"id": "53f741bfdd4465fbdb8799391ca2fa50ac657b72ac9b822c87e2e4ae79d831d8",
"check": "redundant-statements",
"impact": "Informational",
@@ -602,6 +606,7 @@
],
"description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L13",
"id": "f902982db50d530e22b29f35ab1a740f1af29683b0ebb9edd53240721b4f95b9",
"check": "redundant-statements",
"impact": "Informational",
@@ -724,6 +729,7 @@
],
"description": "Redundant expression \"test (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L14",
"id": "5223d6cc441a1f923616873898ea34e0ff11a758c38d6b5244b9e9ea6be9bec8",
"check": "redundant-statements",
"impact": "Informational",
diff --git a/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json b/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json
index 397a2ae4d..3cf570b00 100644
--- a/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json
+++ b/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json
@@ -116,6 +116,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L6",
"id": "d16c698a23693dc64165fc886c68f6900a7a2699998f0f3713d875cf49a2af87",
"check": "redundant-statements",
"impact": "Informational",
@@ -237,6 +238,7 @@
],
"description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L7",
"id": "73207d71a134f0726a839874ee88cdf509766ac7e23c2bce3d0b86c121b2fd4c",
"check": "redundant-statements",
"impact": "Informational",
@@ -358,6 +360,7 @@
],
"description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L8",
"id": "caf262c2d237789c12de0cf27ef88625491b29a1bc3209ced3a12d2890fc799e",
"check": "redundant-statements",
"impact": "Informational",
@@ -480,6 +483,7 @@
],
"description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L12",
"id": "ffe6709dbcfc3342d28833aad5375135da8cc7369bf0649ab1796ff4eae14ca1",
"check": "redundant-statements",
"impact": "Informational",
@@ -602,6 +606,7 @@
],
"description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L13",
"id": "774a4440b59af9fa94c7552ba0ce21a7835511012dc6257afc3fd4d80a023b28",
"check": "redundant-statements",
"impact": "Informational",
@@ -724,6 +729,7 @@
],
"description": "Redundant expression \"test (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n",
"markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n",
+ "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L14",
"id": "45bb5d6a69015db0e07e6d13107db089e1095da3cf0918f624db12181fac28a1",
"check": "redundant-statements",
"impact": "Informational",
diff --git a/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json
index 3f72badb3..af7c329b2 100644
--- a/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json
+++ b/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json
@@ -487,6 +487,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#7-12):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#8)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#11)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L7-L12):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L8)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L7-L12",
"id": "63a6117be188fedd63d46e13119e967dc70adbd140f7ad2f9d3343e5139ccffb",
"check": "reentrancy-benign",
"impact": "Low",
@@ -975,6 +976,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#14-18):\n\tExternal calls:\n\t- success = target.call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#15)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#17)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L14-L18):\n\tExternal calls:\n\t- [success = target.call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L15)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L17)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L14-L18",
"id": "8dc236b9193d1240d219303bae9f115b1c69ee45b7d5528a1915891463b62d15",
"check": "reentrancy-benign",
"impact": "Low",
@@ -1743,6 +1745,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#20-29):\n\tExternal calls:\n\t- success = target.call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#21)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#23)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#23)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#24)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L20-L29):\n\tExternal calls:\n\t- [success = target.call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L21)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L20-L29",
"id": "d0cd48646930b460d018a96dca75d8781c9707be1d4a451d83f1fec56f560c43",
"check": "reentrancy-benign",
"impact": "Low",
@@ -2601,6 +2604,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#31-35):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#51)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#33)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#59)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L31-L35):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L51)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L33)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L59)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L31-L35",
"id": "b5e5f8e97fa06883b3ba5da0b071d115f3181ded338efbbd6dbadaef4033ca17",
"check": "reentrancy-benign",
"impact": "Low",
@@ -3961,6 +3965,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#37-42):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#38)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#51)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#39)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#55)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#39)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#55)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#40)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#59)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L37-L42):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L38)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L51)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L39)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L55)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L39)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L55)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L59)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L37-L42",
"id": "f8ae59addfdbac8f20e5440f9a184916be6ddefc82424d7c3f29a226c4f2795f",
"check": "reentrancy-benign",
"impact": "Low",
@@ -4571,6 +4576,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#44-48):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#45)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#55)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#46)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#59)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L44-L48):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L45)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L55)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L59)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L44-L48",
"id": "944f4ca691fcae3a55ccd543406d1eb8e969ab1b5d716cc975d4656f998f08f9",
"check": "reentrancy-benign",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json
index b2921913e..f4463d9c9 100644
--- a/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json
+++ b/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json
@@ -495,6 +495,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#7-13):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#8)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L7-L13):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L8)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L7-L13",
"id": "06215fa32247bcf7f91d727b63e2ab6b76b307c4521206d7afe6eaa591bc3183",
"check": "reentrancy-benign",
"impact": "Low",
@@ -987,6 +988,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#15-19):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#16)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#18)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L15-L19):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L15-L19",
"id": "ae6f8d6b98538fe324c8bbbcb19a0729901bc42fc166a1b1f0927b0f3f0d185f",
"check": "reentrancy-benign",
"impact": "Low",
@@ -1761,6 +1763,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#21-30):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#22)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#24)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#24)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#25)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L21-L30):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L22)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L25)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L21-L30",
"id": "a479507a21775d1c9b2a90e6f8d5698b6cb4a4e54454dd67571ff5850f71486a",
"check": "reentrancy-benign",
"impact": "Low",
@@ -2626,6 +2629,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#32-36):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#52)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#34)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L32-L36):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L52)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L34)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L32-L36",
"id": "a8f0c602502e3d97630ba10da72929525b99d36c0bfedbb813fb4d39aa736638",
"check": "reentrancy-benign",
"impact": "Low",
@@ -3997,6 +4001,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#38-43):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#39)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#52)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#40)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#40)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#41)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L38-L43):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L39)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L52)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L40)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L40)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L38-L43",
"id": "ed01a6eca7c4b485a34d6d66adb1e0d47e622663622a208c823c920e6d377aca",
"check": "reentrancy-benign",
"impact": "Low",
@@ -4612,6 +4617,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#45-49):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#46)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#47)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L45-L49):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L46)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L45-L49",
"id": "3b1a0f56972cc373bb64019a51f2424653de8fab99fb3941328f1c98f358e766",
"check": "reentrancy-benign",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json
index 511358bc9..9aae3d210 100644
--- a/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json
+++ b/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json
@@ -495,6 +495,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#7-13):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#8)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L7-L13):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L8)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L7-L13",
"id": "e35d0f014a7459e09ea372373807f325e4c901c8412f473d46c93b949e8b4908",
"check": "reentrancy-benign",
"impact": "Low",
@@ -987,6 +988,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#15-19):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#16)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#18)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L15-L19):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L15-L19",
"id": "ad393dc7d573b714cb2f23bd3edcc782fe4e087293db87efb6fcf2ca78c13002",
"check": "reentrancy-benign",
"impact": "Low",
@@ -1761,6 +1763,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#21-30):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#22)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#24)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#24)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#25)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L21-L30):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L22)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L25)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L21-L30",
"id": "416fe229b7f234a232cd7727df5925368d4abd38be42a4a774f4d3b7d93c0707",
"check": "reentrancy-benign",
"impact": "Low",
@@ -2626,6 +2629,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#32-36):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#52)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#34)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L32-L36):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L52)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L34)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L32-L36",
"id": "e1fae91060d6fa1e5a3655e7bd39bf087c5c66ddc73630646dff0ba23c65dfd5",
"check": "reentrancy-benign",
"impact": "Low",
@@ -3997,6 +4001,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#38-43):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#39)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#52)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#40)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#56)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#40)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#56)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#41)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L38-L43):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L39)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L52)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L40)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L56)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L40)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L56)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L38-L43",
"id": "d049c8562c4857b9d8bc23ceca965bd5fc572520db59bc43c0010f03c1d08936",
"check": "reentrancy-benign",
"impact": "Low",
@@ -4612,6 +4617,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#45-49):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#46)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#56)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#47)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L45-L49):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L46)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L56)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L45-L49",
"id": "8fc09eeb31a7d9cdd78f1271f6dc486187ef7e75d35bf205c1e8a4cf70bd5ab9",
"check": "reentrancy-benign",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json b/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json
index 2f8ad81f1..9c6041cdf 100644
--- a/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json
+++ b/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json
@@ -495,6 +495,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#7-13):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#8)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L7-L13):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L8)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L7-L13",
"id": "b162165ec474792dc887b42c40e2d6ba28de0bde22bebdc2b5f63381bde85086",
"check": "reentrancy-benign",
"impact": "Low",
@@ -987,6 +988,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#15-19):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#16)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#18)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L15-L19):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L15-L19",
"id": "bc777bbc032af8fcb23146285a47012df0d4a7825596c3fc57a27e8758500dd2",
"check": "reentrancy-benign",
"impact": "Low",
@@ -1761,6 +1763,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#21-30):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#22)\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#24)\n\tExternal calls sending eth:\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#24)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#25)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L21-L30):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L22)\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24)\n\tExternal calls sending eth:\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L25)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L21-L30",
"id": "79c88ecb3f548fa798f9c5cbb0e3658e78510fbd1cbae4455df47ba39a6fa505",
"check": "reentrancy-benign",
"impact": "Low",
@@ -2626,6 +2629,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#32-36):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#52)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#34)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L32-L36):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L52)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L34)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L32-L36",
"id": "d8315c27e619d086ab8ec4206250374daad8449de43d0eb685dc2cb38376e6e3",
"check": "reentrancy-benign",
"impact": "Low",
@@ -3997,6 +4001,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#38-43):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#39)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#52)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#40)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#40)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#41)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L38-L43):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L39)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L52)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L40)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L40)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L38-L43",
"id": "693e60a81db5856504cce9c31c639630515a7bf4431ba129d2f1dfbef4caa0e6",
"check": "reentrancy-benign",
"impact": "Low",
@@ -4612,6 +4617,7 @@
],
"description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#45-49):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#46)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#47)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#60)\n",
"markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L45-L49):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L46)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L60)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L45-L49",
"id": "068323f92a1eaa2d419e19d35185150639a2b3f992b9b382972f13d546cd414d",
"check": "reentrancy-benign",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json
index 5f983e310..0e531c382 100644
--- a/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json
@@ -8535,6 +8535,7 @@
],
"description": "Reentrancy in DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937):\n\tExternal calls:\n\t- ! isRecipientAllowed(p.recipient) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#881)\n\t\t- allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput()) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1159-1163)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#915)\n\tExternal calls sending eth:\n\t- ! p.creator.send(p.proposalDeposit) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#904)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#915)\n\tState variables written after the call(s):\n\t- p.proposalPassed = true (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#918)\n\t- closeProposal(_proposalID) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- p.open = false (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#944)\n\t- rewardToken[address(this)] += p.amount (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#928)\n\t- closeProposal(_proposalID) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- sumOfProposalDeposits -= p.proposalDeposit (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#943)\n\t- totalRewardToken += p.amount (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#929)\n",
"markdown": "Reentrancy in [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937):\n\tExternal calls:\n\t- [! isRecipientAllowed(p.recipient)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L881)\n\t\t- [allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1159-L1163)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tExternal calls sending eth:\n\t- [! p.creator.send(p.proposalDeposit)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L904)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tState variables written after the call(s):\n\t- [p.proposalPassed = true](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L918)\n\t- [closeProposal(_proposalID)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [p.open = false](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L944)\n\t- [rewardToken[address(this)] += p.amount](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L928)\n\t- [closeProposal(_proposalID)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [sumOfProposalDeposits -= p.proposalDeposit](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L943)\n\t- [totalRewardToken += p.amount](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L929)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937",
"id": "da2955efdedec834e2cbc56b913933ba273e4a4da5d9c5c6be9ff59c9249b84c",
"check": "reentrancy-eth",
"impact": "High",
@@ -9345,6 +9346,7 @@
],
"description": "Reentrancy in TokenCreation.refund() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#318-332):\n\tExternal calls:\n\t- extraBalance.balance >= extraBalance.accumulatedInput() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#321)\n\t- extraBalance.payOut(address(this),extraBalance.accumulatedInput()) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#322)\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#325)\n\tExternal calls sending eth:\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#325)\n\tState variables written after the call(s):\n\t- weiGiven[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#329)\n",
"markdown": "Reentrancy in [TokenCreation.refund()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332):\n\tExternal calls:\n\t- [extraBalance.balance >= extraBalance.accumulatedInput()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L321)\n\t- [extraBalance.payOut(address(this),extraBalance.accumulatedInput())](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L322)\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tExternal calls sending eth:\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tState variables written after the call(s):\n\t- [weiGiven[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L329)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332",
"id": "c464e3c8a788029668f77cdff5d7e6a2af53a5ec0f79e21392a5910bfb9dcbe5",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json
index 4484dec36..e31dd873a 100644
--- a/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json
@@ -397,6 +397,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#14-21):\n\tExternal calls:\n\t- ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#17)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#20)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L14-L21):\n\tExternal calls:\n\t- [! (msg.sender.call.value(userBalance[msg.sender])())](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L17)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L20)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L14-L21",
"id": "957f3b0e921130284eee0bc87196da62a404d42f5be7eb797f1c3ffb0d4de355",
"check": "reentrancy-eth",
"impact": "High",
@@ -796,6 +797,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#64-70):\n\tExternal calls:\n\t- msg.sender.call.value(amount / 2)() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#67)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#68)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L64-L70):\n\tExternal calls:\n\t- [msg.sender.call.value(amount / 2)()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L67)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L68)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L64-L70",
"id": "bc5fd7842eb653b31fae72521123190b37b3dfe9d70a201bfcd70c8a7b5f43ba",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json
index 851a694a3..392b48558 100644
--- a/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json
@@ -444,6 +444,7 @@
],
"description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#26)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#27)\n",
"markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L26)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L27)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29",
"id": "8a2174b6a3476b6e52f3cdac7e85b44337e3b7d7df2b2504c5a75b8e2a00ea7f",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json
index 6dd7c60ae..1591f3812 100644
--- a/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json
@@ -346,6 +346,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#14-22):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#17)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#21)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L14-L22):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L17)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L21)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L14-L22",
"id": "63e2edc090dbced31786ef360979f0516f51ed13f9cdc1df4722a486e6aee0b1",
"check": "reentrancy-eth",
"impact": "High",
@@ -700,6 +701,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#44-53):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#49)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#51)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L44-L53):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L49)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L51)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L44-L53",
"id": "edbf6fc902d003daf83854bd9eb110406d5bd8c3b8facfcf0601b3e5f739b37d",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json
index e5fadfd05..5e08cdb3b 100644
--- a/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json
@@ -444,6 +444,7 @@
],
"description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#26)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#27)\n",
"markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L26)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L27)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29",
"id": "b409436e604deed3ecb1b621a908db6ddbd69754315b41a9806919d8348391d9",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json
index 5f5a46de6..85a45bfbb 100644
--- a/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json
@@ -346,6 +346,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#14-22):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#17)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#21)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L14-L22):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L17)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L21)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L14-L22",
"id": "703bb72dceaefd2a51f7f2f7c83443d37cebcc0b8ce4b5f6bd54e803d4c58d0d",
"check": "reentrancy-eth",
"impact": "High",
@@ -700,6 +701,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#44-53):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#49)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#51)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L44-L53):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L49)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L51)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L44-L53",
"id": "9d69f38d42306f0c57969c0e57d606c4bbd636e4deae55b630b247299f7afa49",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json
index fb6b38b4a..30b2b6cd5 100644
--- a/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json
@@ -444,6 +444,7 @@
],
"description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#26)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#27)\n",
"markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L26)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L27)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29",
"id": "592ad3a6f86cbf4b9e9e1c21c6345d8616f0e6e8a85c7e9ab283b5b0a1271c71",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json
index c129cc8f8..b7aa05148 100644
--- a/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json
@@ -346,6 +346,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#14-22):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: userBalance[msg.sender]}() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#17)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#21)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L14-L22):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: userBalance[msg.sender]}()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L17)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L21)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L14-L22",
"id": "4080e36d35513345b756c6f8d09f2b1238c4553d4b38793d44fe99895e546709",
"check": "reentrancy-eth",
"impact": "High",
@@ -700,6 +701,7 @@
],
"description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#44-53):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: amount}() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#49)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#51)\n",
"markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L44-L53):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: amount}()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L49)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L51)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L44-L53",
"id": "748ed9bcfb9b4a29525eb6514dfff59da6436c7d70a9706d335f71a15ab31620",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json b/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json
index a6cc29bf1..842e17513 100644
--- a/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json
+++ b/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json
@@ -444,6 +444,7 @@
],
"description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29):\n\tExternal calls:\n\t- require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender])) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#24)\n\tExternal calls sending eth:\n\t- msg.sender.transfer(eth_deposed[token][msg.sender]) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#23)\n\tState variables written after the call(s):\n\t- eth_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#26)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#27)\n",
"markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29):\n\tExternal calls:\n\t- [require(bool)(Token(token).transfer(msg.sender,token_deposed[token][msg.sender]))](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L24)\n\tExternal calls sending eth:\n\t- [msg.sender.transfer(eth_deposed[token][msg.sender])](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L23)\n\tState variables written after the call(s):\n\t- [eth_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L26)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L27)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29",
"id": "24fc47678720105e363d9594b5bcec35f854903103c3c4a4ca82d9b4fb5348c3",
"check": "reentrancy-eth",
"impact": "High",
diff --git a/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json b/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json
index 1fec87de0..00f9427e6 100644
--- a/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json
+++ b/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json
@@ -216,6 +216,7 @@
],
"description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#16)\n",
"markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17",
"id": "314eb87452ecb57911a225bbbd538d33f9204518026249a12410e19413554727",
"check": "reentrancy-events",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json b/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json
index 77cec19d0..d56617523 100644
--- a/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json
+++ b/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json
@@ -216,6 +216,7 @@
],
"description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#16)\n",
"markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17",
"id": "1f754abe7a9cadfa9e0ea549a49219ba95c55bb5eaf79698de27f0fa460eb0f2",
"check": "reentrancy-events",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json b/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json
index b13b488d8..be2069687 100644
--- a/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json
+++ b/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json
@@ -216,6 +216,7 @@
],
"description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#16)\n",
"markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L16)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17",
"id": "959396e18ec2c541dcb7c9e9f318504e794922dd6f48ffd9885d11289b5f83ba",
"check": "reentrancy-events",
"impact": "Low",
diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json
index 6488984ca..b0b061cbf 100644
--- a/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json
+++ b/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json
@@ -3040,6 +3040,7 @@
],
"description": "Reentrancy in DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057):\n\tExternal calls:\n\t- reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1044-1046)\n\t- ! DAOrewardAccount.payOut(dao.rewardAccount(),reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1048)\n\t- ! DAOrewardAccount.payOut(dao,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1052)\n\tState variables written after the call(s):\n\t- DAOpaidOut[msg.sender] += reward (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1055)\n",
"markdown": "Reentrancy in [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057):\n\tExternal calls:\n\t- [reward = (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) / totalRewardToken - DAOpaidOut[msg.sender]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1044-L1046)\n\t- [! DAOrewardAccount.payOut(dao.rewardAccount(),reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1048)\n\t- [! DAOrewardAccount.payOut(dao,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1052)\n\tState variables written after the call(s):\n\t- [DAOpaidOut[msg.sender] += reward](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1055)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057",
"id": "f4fcbe9e693a60538ed19ff7c298fa578309af52604f3265bac4254b82e45d8f",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -7609,6 +7610,7 @@
],
"description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\tState variables written after the call(s):\n\t- p.splitData[0].splitBalance = actualBalance() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#981)\n\t- p.splitData[0].rewardToken = rewardToken[address(this)] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#982)\n\t- p.splitData[0].totalSupply = totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#983)\n\t- p.proposalPassed = true (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#984)\n",
"markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\tState variables written after the call(s):\n\t- [p.splitData[0].splitBalance = actualBalance()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L981)\n\t- [p.splitData[0].rewardToken = rewardToken[address(this)]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L982)\n\t- [p.splitData[0].totalSupply = totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L983)\n\t- [p.proposalPassed = true](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L984)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020",
"id": "ca170302627c298d8230a6d9f9cae19a84c58325d2df49a6ef15a0b17208bf00",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -13981,6 +13983,7 @@
],
"description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\t- withdrawRewardFor(msg.sender) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1015)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1017)\n\t- paidOut[msg.sender] = 0 (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1018)\n\t- totalSupply -= balances[msg.sender] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1016)\n",
"markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\t- [withdrawRewardFor(msg.sender)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1015)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] = 0](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1017)\n\t- [paidOut[msg.sender] = 0](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1018)\n\t- [totalSupply -= balances[msg.sender]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1016)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020",
"id": "4ce8b483e6c9e8e2bbc854d3ff7713e20404b0be5e7cc714329c9a56c52e8d31",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -19642,6 +19645,7 @@
],
"description": "Reentrancy in DAO.transferFromWithoutReward(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1112-1121):\n\tExternal calls:\n\t- ! withdrawRewardFor(_from) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1118)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transferFrom(_from,_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- balances[_to] += _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#120)\n\t\t- balances[_from] -= _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#121)\n\t- transferFrom(_from,_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- paidOut[_from] -= transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n",
"markdown": "Reentrancy in [DAO.transferFromWithoutReward(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121):\n\tExternal calls:\n\t- [! withdrawRewardFor(_from)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1118)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transferFrom(_from,_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [balances[_to] += _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L120)\n\t\t- [balances[_from] -= _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L121)\n\t- [transferFrom(_from,_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121",
"id": "b888f2335a7b1a29c1f4940886bfbe26a6277d2dca59310ede3dfdb6f02adeb0",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -25265,6 +25269,7 @@
],
"description": "Reentrancy in DAO.transferWithoutReward(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1091-1095):\n\tExternal calls:\n\t- ! getMyReward() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1092)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transfer(_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- balances[msg.sender] -= _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#101)\n\t\t- balances[_to] += _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#102)\n\t- transfer(_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- paidOut[_from] -= transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n",
"markdown": "Reentrancy in [DAO.transferWithoutReward(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095):\n\tExternal calls:\n\t- [! getMyReward()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1092)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transfer(_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [balances[msg.sender] -= _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L101)\n\t\t- [balances[_to] += _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L102)\n\t- [transfer(_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095",
"id": "bb78c66126a39c10a22c2be95caccd1bc16b010bc959bdeb23bdc1d728654eea",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -27658,6 +27663,7 @@
],
"description": "Reentrancy in DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074):\n\tExternal calls:\n\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- paidOut[_account] += reward (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1072)\n",
"markdown": "Reentrancy in [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074):\n\tExternal calls:\n\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [paidOut[_account] += reward](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1072)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074",
"id": "fb092ddf0ad631483e2154ebe8224d43f9bf6212386128fcac54c051b2db88db",
"check": "reentrancy-no-eth",
"impact": "Medium",
diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json
index e5a4c7ed1..4571d2286 100644
--- a/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json
+++ b/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json
@@ -265,6 +265,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#6-12):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#11)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L6-L12):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L6-L12",
"id": "f933b0dd64ecd6dfb70018248bff9e11c03a35657032529ff992308456d475dd",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -814,6 +815,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#14-19):\n\tExternal calls:\n\t- success = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\t\t- ! (msg.sender.call()) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#11)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L14-L19):\n\tExternal calls:\n\t- [success = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\t\t- [! (msg.sender.call())](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L14-L19",
"id": "7bb6139d33983b626159983e8a4d7fc049710a8f08908c1d212bd13b68640a6a",
"check": "reentrancy-no-eth",
"impact": "Medium",
diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json
index 9ba6850f3..bfb51198f 100644
--- a/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json
+++ b/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json
@@ -274,6 +274,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#6-13):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L6-L13):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L6-L13",
"id": "0aac5bbaf3a6f1b7de2ac725771ade12f8b1453c0639d09517b8bddb098a13d2",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -837,6 +838,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#15-20):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#17)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#19)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#19)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L15-L20):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L17)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L19)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L19)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L15-L20",
"id": "05033b6ee9ae71d9cc7b1ec3f6b09d4c0a43a6c92393f54fa45ce27c89a1e771",
"check": "reentrancy-no-eth",
"impact": "Medium",
diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json
index 5e20c8777..c8ed4b66e 100644
--- a/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json
+++ b/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json
@@ -274,6 +274,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#6-13):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L6-L13):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L6-L13",
"id": "a786c050fdd723d3185d93105e0903cb696bf4ce71996fc791e79d8f97c5e72d",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -837,6 +838,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#15-20):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#17)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#19)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#19)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L15-L20):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L17)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L19)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L19)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L15-L20",
"id": "02d9e7190770aed44ccdabc149dfc114e91d2f90346cfbfff570c7ccbc1d64e8",
"check": "reentrancy-no-eth",
"impact": "Medium",
diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json b/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json
index 63632b566..fb4976193 100644
--- a/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json
+++ b/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json
@@ -274,6 +274,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#6-13):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L6-L13):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L6-L13",
"id": "10fd7c0322e6af411a40589a36dd17ec3e91b73cb56a6757dd9b192bcc2b6955",
"check": "reentrancy-no-eth",
"impact": "Medium",
@@ -837,6 +838,7 @@
],
"description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#15-20):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#17)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#19)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#19)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#12)\n",
"markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L15-L20):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L17)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L19)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L19)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L15-L20",
"id": "a9d96103d5786a77ba0de28c96dc94a27ea5acda47af8fef59a80327925a286b",
"check": "reentrancy-no-eth",
"impact": "Medium",
diff --git a/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json b/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json
index 07cca3f02..2612dca44 100644
--- a/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json
+++ b/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json
@@ -117,6 +117,7 @@
],
"description": "C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18",
"id": "d2847fcb309e0ee45dfb303bf749123bbebee692a080ae6a718a76ef785ae8d2",
"check": "reused-constructor",
"impact": "Medium",
@@ -239,6 +240,7 @@
],
"description": "D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24",
"id": "7436d3215ee6260f9a4b2f4697fa242225ad3f10e30bfbd162679a5e3fa48f10",
"check": "reused-constructor",
"impact": "Medium",
@@ -360,6 +362,7 @@
],
"description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor B.B(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n",
"markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [B.B(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30",
"id": "e79d62c434ba85788dd5087e4994bb136be6b9e8a55e8057b0e30c9b0436abdc",
"check": "reused-constructor",
"impact": "Medium",
@@ -481,6 +484,7 @@
],
"description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor C.C(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n",
"markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [C.C(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30",
"id": "085dceba8f0b37580e72952eafe1368bf0d09f10c2f44c0b6ff53ad7e72f92b1",
"check": "reused-constructor",
"impact": "Medium",
@@ -603,6 +607,7 @@
],
"description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30",
"id": "14d6bffb3f1849cfebb7156cb797315fd01ac83911a1261650f702792f4db830",
"check": "reused-constructor",
"impact": "Medium",
@@ -727,6 +732,7 @@
],
"description": "F (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[F](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38",
"id": "71e08d0e5c44bbc2671e014018a6333bd92db7380a85732bf2d17aa5500f6434",
"check": "reused-constructor",
"impact": "Medium",
diff --git a/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json b/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json
index 8426a2646..9d698a4c3 100644
--- a/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json
+++ b/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json
@@ -117,6 +117,7 @@
],
"description": "C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18",
"id": "2d9d2b1b6d2540f86fd909f9766e128da573e659f40a50835cc9adef3c4dbee8",
"check": "reused-constructor",
"impact": "Medium",
@@ -238,6 +239,7 @@
],
"description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor B.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n",
"markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [B.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24",
"id": "5f3b188e7d6c737684f829c3fde96f739cd502b4aba8f3f6e3ceab7decffa618",
"check": "reused-constructor",
"impact": "Medium",
@@ -359,6 +361,7 @@
],
"description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor C.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n",
"markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [C.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24",
"id": "b579da8996b6a1a35169bcae74ad8126c68fb0a1819d3977cea3e0e295ff2d5c",
"check": "reused-constructor",
"impact": "Medium",
@@ -481,6 +484,7 @@
],
"description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24",
"id": "1f85bf19873eaee39a8f703b0c783aa86e34c91fad5556ee831eb7c6adcfdb77",
"check": "reused-constructor",
"impact": "Medium",
@@ -646,6 +650,7 @@
],
"description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor B.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) contract definition\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n",
"markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [B.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) contract definition\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30",
"id": "ee7d44329ffb81dc06e2a2f1b3a166a5115287a1175b32cf828b57479afbc4ae",
"check": "reused-constructor",
"impact": "Medium",
@@ -789,6 +794,7 @@
],
"description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor C.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n",
"markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [C.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30",
"id": "33b16377cf3026b60d644e79d92682e6e626d7ad6598387440c9b20fd8aa44fe",
"check": "reused-constructor",
"impact": "Medium",
@@ -911,6 +917,7 @@
],
"description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30",
"id": "f5c86955c15d44fe9471680d12d37843a15ba934cbb124786cadab0919ea68d1",
"check": "reused-constructor",
"impact": "Medium",
@@ -1035,6 +1042,7 @@
],
"description": "F (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n",
"markdown": "[F](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n",
+ "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38",
"id": "b74eb2b11af7a004b623d28b035228963f09aed588c95efed636021f426c5cdc",
"check": "reused-constructor",
"impact": "Medium",
diff --git a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json b/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json
index a6c48f105..797ba6085 100644
--- a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json
+++ b/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json
@@ -23,6 +23,7 @@
],
"description": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"markdown": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
+ "first_markdown_element": "",
"id": "02545af9e98ed496f7c9e2b2de0f66bcf8e8e31c25a2a2626b5bad92619b1f85",
"check": "rtlo",
"impact": "High",
diff --git a/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json b/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json
index 404290c8e..5d857253c 100644
--- a/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json
+++ b/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json
@@ -23,6 +23,7 @@
],
"description": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"markdown": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
+ "first_markdown_element": "",
"id": "d347f1cb6d791b00f8a6ad65c201eeaa527636f2bf2c5529102441c56e994b33",
"check": "rtlo",
"impact": "High",
diff --git a/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json b/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json
index 361df1a0a..d5480c7d4 100644
--- a/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json
+++ b/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json
@@ -23,6 +23,7 @@
],
"description": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
"markdown": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol contains a unicode right-to-left-override character at byte offset 96:\n\t- b' test1(/*A\\xe2\\x80\\xae/*B*/2 , 1/*\\xe2\\x80\\xad'\n",
+ "first_markdown_element": "",
"id": "2cc2fa8e55fae035ed2ebc4798c488d64e92c7c9875fe6699e39103c0b95c264",
"check": "rtlo",
"impact": "High",
diff --git a/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json b/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json
index 0defb7ced..1ec35f507 100644
--- a/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json
+++ b/tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json
@@ -87,6 +87,7 @@
],
"description": "DerivedContract.owner (tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#2)\n",
"markdown": "[DerivedContract.owner](tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L2)\n",
+ "first_markdown_element": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7",
"id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab",
"check": "shadowing-abstract",
"impact": "Medium",
diff --git a/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json b/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json
index ed45e6135..0ae629ca5 100644
--- a/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json
+++ b/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json
@@ -87,6 +87,7 @@
],
"description": "DerivedContract.owner (tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#2)\n",
"markdown": "[DerivedContract.owner](tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L2)\n",
+ "first_markdown_element": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7",
"id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab",
"check": "shadowing-abstract",
"impact": "Medium",
diff --git a/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json b/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json
index d695c3ad3..14a2a32d1 100644
--- a/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json
+++ b/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json
@@ -48,6 +48,7 @@
],
"description": "BaseContract.blockhash (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n",
"markdown": "[BaseContract.blockhash](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4",
"id": "61d1c1452e694c321d00576decdf35c62efbe8860f664273955fadce5e063cc8",
"check": "shadowing-builtin",
"impact": "Low",
@@ -101,6 +102,7 @@
],
"description": "BaseContract.now (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n",
"markdown": "[BaseContract.now](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5",
"id": "942ad0405af0bc533374dded6e2474c53892747c98d2df14d59cbb6840fa18b3",
"check": "shadowing-builtin",
"impact": "Low",
@@ -155,6 +157,7 @@
],
"description": "BaseContractrevert(bool) (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n",
"markdown": "[BaseContractrevert(bool)](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7",
"id": "9c428e61cb4832d899b2bb711c8d428154425dbadf5dfc2e2d857254824d8f72",
"check": "shadowing-builtin",
"impact": "Low",
@@ -212,6 +215,7 @@
],
"description": "ExtendedContract.assert(bool) (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n",
"markdown": "[ExtendedContract.assert(bool)](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15",
"id": "b3a1b23c1daed52b1a2ff5fb76d4fcdf2bc0b2126524303321cf8e7835116d6f",
"check": "shadowing-builtin",
"impact": "Low",
@@ -289,6 +293,7 @@
],
"description": "ExtendedContract.assert(bool).msg (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n",
"markdown": "[ExtendedContract.assert(bool).msg](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14",
"id": "a2a7e1e27320d38e52b51c9b1ec67cca0a403673ff6fdd59652f9cd8425d011f",
"check": "shadowing-builtin",
"impact": "Low",
@@ -343,6 +348,7 @@
],
"description": "ExtendedContract.ecrecover (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n",
"markdown": "[ExtendedContract.ecrecover](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11",
"id": "39737925cf3bd4ebf9a1c7bbe39da8b80ba28e5a3d93a938d1a4cca78a6a436d",
"check": "shadowing-builtin",
"impact": "Low",
@@ -408,6 +414,7 @@
],
"description": "FurtherExtendedContract.require() (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.require()](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28",
"id": "db6c26c9a7c319c1a34c486e6e625c0906a2b118f8cd72f38a38c167832aab4f",
"check": "shadowing-builtin",
"impact": "Low",
@@ -493,6 +500,7 @@
],
"description": "FurtherExtendedContract.require().keccak256 (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.require().keccak256](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25",
"id": "40f0453d27abf2d9ed76fe60853b6e2e0cd9a443d639e9da457460ea02b2bdc7",
"check": "shadowing-builtin",
"impact": "Low",
@@ -578,6 +586,7 @@
],
"description": "FurtherExtendedContract.require().sha3 (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.require().sha3](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26",
"id": "c481dbbf77c99cb337740a656ebabae1c89bf13b9d7b7d315dcf54feeab1cd63",
"check": "shadowing-builtin",
"impact": "Low",
@@ -637,6 +646,7 @@
],
"description": "FurtherExtendedContract.blockhash (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.blockhash](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19",
"id": "d405ccbec679f921252d475591a890a89a023b375dc4994119967693692f8da9",
"check": "shadowing-builtin",
"impact": "Low",
@@ -696,6 +706,7 @@
],
"description": "FurtherExtendedContract.this (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.this](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20",
"id": "87e1cc0cb95181dd120d3e6e55d89fdc7b5cd01da2f89cd7a3d105738f57c10b",
"check": "shadowing-builtin",
"impact": "Low",
@@ -755,6 +766,7 @@
],
"description": "FurtherExtendedContract.abi (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.abi](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21",
"id": "4665243a2df090e3543ab26447528fa3401916f4669fe1264145891846d4bc40",
"check": "shadowing-builtin",
"impact": "Low",
@@ -806,6 +818,7 @@
],
"description": "Reserved.mutable (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#32) (state variable) shadows built-in symbol\"\n",
"markdown": "[Reserved.mutable](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32",
"id": "11840553a9e11623596d7a07275814e65a5b1d90277ae0e2954cd8ce74d6a6d2",
"check": "shadowing-builtin",
"impact": "Low",
diff --git a/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json b/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json
index 34077d92a..1012fbe88 100644
--- a/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json
+++ b/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json
@@ -48,6 +48,7 @@
],
"description": "BaseContract.blockhash (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n",
"markdown": "[BaseContract.blockhash](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4",
"id": "61d1c1452e694c321d00576decdf35c62efbe8860f664273955fadce5e063cc8",
"check": "shadowing-builtin",
"impact": "Low",
@@ -101,6 +102,7 @@
],
"description": "BaseContract.now (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n",
"markdown": "[BaseContract.now](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5",
"id": "942ad0405af0bc533374dded6e2474c53892747c98d2df14d59cbb6840fa18b3",
"check": "shadowing-builtin",
"impact": "Low",
@@ -155,6 +157,7 @@
],
"description": "BaseContractrevert(bool) (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n",
"markdown": "[BaseContractrevert(bool)](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7",
"id": "9c428e61cb4832d899b2bb711c8d428154425dbadf5dfc2e2d857254824d8f72",
"check": "shadowing-builtin",
"impact": "Low",
@@ -212,6 +215,7 @@
],
"description": "ExtendedContract.assert(bool) (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n",
"markdown": "[ExtendedContract.assert(bool)](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15",
"id": "b3a1b23c1daed52b1a2ff5fb76d4fcdf2bc0b2126524303321cf8e7835116d6f",
"check": "shadowing-builtin",
"impact": "Low",
@@ -289,6 +293,7 @@
],
"description": "ExtendedContract.assert(bool).msg (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n",
"markdown": "[ExtendedContract.assert(bool).msg](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14",
"id": "a2a7e1e27320d38e52b51c9b1ec67cca0a403673ff6fdd59652f9cd8425d011f",
"check": "shadowing-builtin",
"impact": "Low",
@@ -343,6 +348,7 @@
],
"description": "ExtendedContract.ecrecover (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n",
"markdown": "[ExtendedContract.ecrecover](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11",
"id": "39737925cf3bd4ebf9a1c7bbe39da8b80ba28e5a3d93a938d1a4cca78a6a436d",
"check": "shadowing-builtin",
"impact": "Low",
@@ -408,6 +414,7 @@
],
"description": "FurtherExtendedContract.require() (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.require()](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28",
"id": "db6c26c9a7c319c1a34c486e6e625c0906a2b118f8cd72f38a38c167832aab4f",
"check": "shadowing-builtin",
"impact": "Low",
@@ -493,6 +500,7 @@
],
"description": "FurtherExtendedContract.require().keccak256 (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.require().keccak256](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25",
"id": "40f0453d27abf2d9ed76fe60853b6e2e0cd9a443d639e9da457460ea02b2bdc7",
"check": "shadowing-builtin",
"impact": "Low",
@@ -578,6 +586,7 @@
],
"description": "FurtherExtendedContract.require().sha3 (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.require().sha3](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26",
"id": "c481dbbf77c99cb337740a656ebabae1c89bf13b9d7b7d315dcf54feeab1cd63",
"check": "shadowing-builtin",
"impact": "Low",
@@ -637,6 +646,7 @@
],
"description": "FurtherExtendedContract.blockhash (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.blockhash](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19",
"id": "d405ccbec679f921252d475591a890a89a023b375dc4994119967693692f8da9",
"check": "shadowing-builtin",
"impact": "Low",
@@ -696,6 +706,7 @@
],
"description": "FurtherExtendedContract.this (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.this](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20",
"id": "87e1cc0cb95181dd120d3e6e55d89fdc7b5cd01da2f89cd7a3d105738f57c10b",
"check": "shadowing-builtin",
"impact": "Low",
@@ -755,6 +766,7 @@
],
"description": "FurtherExtendedContract.abi (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n",
"markdown": "[FurtherExtendedContract.abi](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n",
+ "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21",
"id": "4665243a2df090e3543ab26447528fa3401916f4669fe1264145891846d4bc40",
"check": "shadowing-builtin",
"impact": "Low",
diff --git a/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json b/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json
index 63878327c..9516c83cb 100644
--- a/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json
+++ b/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json
@@ -207,6 +207,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#4) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L4) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25",
"id": "0991435c12aa2d6f15e8da2a00a18e9c58ef65dcf31137cdb561655317353247",
"check": "shadowing-local",
"impact": "Low",
@@ -327,6 +328,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#5) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L5) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25",
"id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508",
"check": "shadowing-local",
"impact": "Low",
@@ -451,6 +453,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#11) (function)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L11) (function)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25",
"id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd",
"check": "shadowing-local",
"impact": "Low",
@@ -582,6 +585,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#20-23) (modifier)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L20-L23) (modifier)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25",
"id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089",
"check": "shadowing-local",
"impact": "Low",
@@ -706,6 +710,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#13) (event)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L13) (event)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25",
"id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054",
"check": "shadowing-local",
"impact": "Low",
diff --git a/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json b/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json
index 1f34925dd..bb012fce1 100644
--- a/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json
+++ b/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json
@@ -207,6 +207,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#4) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L4) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25",
"id": "0991435c12aa2d6f15e8da2a00a18e9c58ef65dcf31137cdb561655317353247",
"check": "shadowing-local",
"impact": "Low",
@@ -327,6 +328,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#5) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L5) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25",
"id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508",
"check": "shadowing-local",
"impact": "Low",
@@ -451,6 +453,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#11) (function)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L11) (function)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25",
"id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd",
"check": "shadowing-local",
"impact": "Low",
@@ -582,6 +585,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#20-23) (modifier)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L20-L23) (modifier)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25",
"id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089",
"check": "shadowing-local",
"impact": "Low",
@@ -706,6 +710,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#13) (event)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L13) (event)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25",
"id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054",
"check": "shadowing-local",
"impact": "Low",
diff --git a/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json b/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json
index 0fdb10070..f4eed78f8 100644
--- a/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json
+++ b/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json
@@ -122,6 +122,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#17) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L17) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25",
"id": "cd61765f88a1447471f5c75c7a488af44534d81be3998f5d01a6b5fa8f693327",
"check": "shadowing-local",
"impact": "Low",
@@ -242,6 +243,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#5) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L5) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25",
"id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508",
"check": "shadowing-local",
"impact": "Low",
@@ -366,6 +368,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#11) (function)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L11) (function)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25",
"id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd",
"check": "shadowing-local",
"impact": "Low",
@@ -497,6 +500,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#20-23) (modifier)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L20-L23) (modifier)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25",
"id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089",
"check": "shadowing-local",
"impact": "Low",
@@ -621,6 +625,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#13) (event)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L13) (event)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25",
"id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054",
"check": "shadowing-local",
"impact": "Low",
diff --git a/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json b/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json
index a5e57d72d..d79a3b6fb 100644
--- a/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json
+++ b/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json
@@ -122,6 +122,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#17) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L17) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25",
"id": "cd61765f88a1447471f5c75c7a488af44534d81be3998f5d01a6b5fa8f693327",
"check": "shadowing-local",
"impact": "Low",
@@ -242,6 +243,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#5) (state variable)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L5) (state variable)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25",
"id": "465bd81cbb09a3d2cc84ea6102fb059296f1970e85e2d86a171f8219f1a34508",
"check": "shadowing-local",
"impact": "Low",
@@ -366,6 +368,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#11) (function)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L11) (function)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25",
"id": "e3d2948e9c1252fe84e0d7e58f6682af7af84ef209f6e71f039faccabf07b0bd",
"check": "shadowing-local",
"impact": "Low",
@@ -497,6 +500,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#20-23) (modifier)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L20-L23) (modifier)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25",
"id": "a94a2b9331482c75582868e6d3cc5c9b01487e7505f219abcf36a20d76e0b089",
"check": "shadowing-local",
"impact": "Low",
@@ -621,6 +625,7 @@
],
"description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#13) (event)\n",
"markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L13) (event)\n",
+ "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25",
"id": "973e31cc30dc7a3e1f089dfa5848234075f237f78fa492c772b1083e12c79054",
"check": "shadowing-local",
"impact": "Low",
diff --git a/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json b/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json
index 8e8a8e56b..f610163ec 100644
--- a/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json
+++ b/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json
@@ -99,6 +99,7 @@
],
"description": "DerivedContract.owner (tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#2)\n",
"markdown": "[DerivedContract.owner](tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L2)\n",
+ "first_markdown_element": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L12",
"id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab",
"check": "shadowing-state",
"impact": "High",
diff --git a/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json b/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json
index 3a830f090..7965986a7 100644
--- a/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json
+++ b/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json
@@ -99,6 +99,7 @@
],
"description": "DerivedContract.owner (tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#2)\n",
"markdown": "[DerivedContract.owner](tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L2)\n",
+ "first_markdown_element": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L12",
"id": "9c5c3fc5091b9ecd6ec271fdbb3036d9d3426cdf9a09d6cc293fd7de9240e4ab",
"check": "shadowing-state",
"impact": "High",
diff --git a/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json b/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json
index f55b258af..30bd98c60 100644
--- a/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json
@@ -30,6 +30,7 @@
],
"description": "Pragma version0.4.25 (tests/detectors/solc-version/0.4.25/static.sol#1) allows old versions\n",
"markdown": "Pragma version[0.4.25](tests/detectors/solc-version/0.4.25/static.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.4.25/static.sol#L1",
"id": "029e1373a8867a45707d0ef3f6d0895191b9a4c60e71980c2ac58b5589c6256c",
"check": "solc-version",
"impact": "Informational",
@@ -39,6 +40,7 @@
"elements": [],
"description": "solc-0.4.25 is not recommended for deployment\n",
"markdown": "solc-0.4.25 is not recommended for deployment\n",
+ "first_markdown_element": "",
"id": "4d64003d70a62b1c6963f871e841b6cbd633d07d95554e1a50e0f25d9b71ebb3",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json b/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json
index 5eb74a98c..62633e836 100644
--- a/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json
@@ -30,6 +30,7 @@
],
"description": "Pragma version0.5.14 (tests/detectors/solc-version/0.5.14/static.sol#1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n",
"markdown": "Pragma version[0.5.14](tests/detectors/solc-version/0.5.14/static.sol#L1) is known to contain severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.5.14/static.sol#L1",
"id": "cf9412fdac7f959dea885dbcebb2f9cfb0f3b0ca55f8fc84ebdc51e09eaf6957",
"check": "solc-version",
"impact": "Informational",
@@ -39,6 +40,7 @@
"elements": [],
"description": "solc-0.5.14 is not recommended for deployment\n",
"markdown": "solc-0.5.14 is not recommended for deployment\n",
+ "first_markdown_element": "",
"id": "839b9aa9c05b3f4bfeb7aefa9b7a69d82a322bf527f21bbf7080a7855f003803",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json b/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json
index 39362aed4..ed491e31c 100644
--- a/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json
@@ -31,6 +31,7 @@
],
"description": "Pragma version^0.5.15 (tests/detectors/solc-version/0.5.16/dynamic_1.sol#1) allows old versions\n",
"markdown": "Pragma version[^0.5.15](tests/detectors/solc-version/0.5.16/dynamic_1.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.5.16/dynamic_1.sol#L1",
"id": "b837ad353716586dca5845e185efa85b1ed38c36ff731820ea9a42fc72171527",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json b/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json
index 265b831f9..4510757bc 100644
--- a/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json
@@ -34,6 +34,7 @@
],
"description": "Pragma version>=0.5.0<0.6.0 (tests/detectors/solc-version/0.5.16/dynamic_2.sol#1) allows old versions\n",
"markdown": "Pragma version[>=0.5.0<0.6.0](tests/detectors/solc-version/0.5.16/dynamic_2.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.5.16/dynamic_2.sol#L1",
"id": "0f9930eec9fe7848abc3ded6a5fc053e0208ffa1510b01518fb1348e0f0b01b1",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json b/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json
index df30b4154..5e92ed5a7 100644
--- a/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json
@@ -30,6 +30,7 @@
],
"description": "Pragma version0.6.10 (tests/detectors/solc-version/0.6.10/static.sol#1) allows old versions\n",
"markdown": "Pragma version[0.6.10](tests/detectors/solc-version/0.6.10/static.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.6.10/static.sol#L1",
"id": "f8fa962b3064cc35b3504cfbd7bd2067f90239895c1c23a55ce6666803131780",
"check": "solc-version",
"impact": "Informational",
@@ -39,6 +40,7 @@
"elements": [],
"description": "solc-0.6.10 is not recommended for deployment\n",
"markdown": "solc-0.6.10 is not recommended for deployment\n",
+ "first_markdown_element": "",
"id": "b2c2f26d29a163098673e6dcb2342e00d94996a84040bac62f7dbb2f20fa8f28",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json b/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json
index 59d2011a9..2455fc39f 100644
--- a/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json
@@ -31,6 +31,7 @@
],
"description": "Pragma version^0.6.10 (tests/detectors/solc-version/0.6.11/dynamic_1.sol#1) allows old versions\n",
"markdown": "Pragma version[^0.6.10](tests/detectors/solc-version/0.6.11/dynamic_1.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.6.11/dynamic_1.sol#L1",
"id": "ba2de3955a664b3846697e1ad89d5eb477b9992d67d86bf5ac36b904a8ccca4b",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json b/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json
index 6071a2aff..1e3354896 100644
--- a/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json
@@ -34,6 +34,7 @@
],
"description": "Pragma version>=0.6.0<0.7.0 (tests/detectors/solc-version/0.6.11/dynamic_2.sol#1) allows old versions\n",
"markdown": "Pragma version[>=0.6.0<0.7.0](tests/detectors/solc-version/0.6.11/dynamic_2.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.6.11/dynamic_2.sol#L1",
"id": "8c08bc3809d977ad0253b208683307501206a69d53c84f78e68fad3ae144117c",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json b/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json
index d531ba088..66976b6a6 100644
--- a/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json
@@ -30,6 +30,7 @@
],
"description": "Pragma version0.7.4 (tests/detectors/solc-version/0.7.4/static.sol#1) allows old versions\n",
"markdown": "Pragma version[0.7.4](tests/detectors/solc-version/0.7.4/static.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.7.4/static.sol#L1",
"id": "770bd3666c605dc3b8e7422296714d365b70b9bf6b75b35ef42c2068568dd6f2",
"check": "solc-version",
"impact": "Informational",
@@ -39,6 +40,7 @@
"elements": [],
"description": "solc-0.7.4 is not recommended for deployment\n",
"markdown": "solc-0.7.4 is not recommended for deployment\n",
+ "first_markdown_element": "",
"id": "27e54a3813c974274b355c03bd742d4f2b8cd63fa57143b4fb741cbecd022dd2",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json b/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json
index 82ee71279..3aacc95b3 100644
--- a/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json
@@ -31,6 +31,7 @@
],
"description": "Pragma version^0.7.4 (tests/detectors/solc-version/0.7.6/dynamic_1.sol#1) allows old versions\n",
"markdown": "Pragma version[^0.7.4](tests/detectors/solc-version/0.7.6/dynamic_1.sol#L1) allows old versions\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.7.6/dynamic_1.sol#L1",
"id": "e46d6be1a19a445ff20b2e96a37cb7355cf88d3c93d72bfc963db2a86f303d11",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json b/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json
index a16b2f3d7..9f68554ac 100644
--- a/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json
+++ b/tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json
@@ -34,6 +34,7 @@
],
"description": "Pragma version>=0.7.0<=0.7.6 (tests/detectors/solc-version/0.7.6/dynamic_2.sol#1) is too complex\n",
"markdown": "Pragma version[>=0.7.0<=0.7.6](tests/detectors/solc-version/0.7.6/dynamic_2.sol#L1) is too complex\n",
+ "first_markdown_element": "tests/detectors/solc-version/0.7.6/dynamic_2.sol#L1",
"id": "d63860d6851dda74b9cb989aa5ef5bbb9bcc22c1b6f217b9356c0fc843b78386",
"check": "solc-version",
"impact": "Informational",
diff --git a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json b/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json
index df1e4c831..9f3a635e5 100644
--- a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json
+++ b/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json
@@ -251,6 +251,7 @@
],
"description": "Contract A (tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad1(int128[3]) (tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#15-17)\n\t\t- intArray = userArray (tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#16) has a storage signed integer array assignment\n",
"markdown": "Contract [A](tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad1(int128[3])](tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L15-L17)\n\t\t- [intArray = userArray](tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L16) has a storage signed integer array assignment\n",
+ "first_markdown_element": "tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45",
"id": "7ba5efbfb61ba63a7ac01d376a0cede2fda18c2a2d8604c4a82cccec92ae2bdb",
"check": "storage-array",
"impact": "High",
@@ -507,6 +508,7 @@
],
"description": "Contract A (tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad0() (tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#10-12)\n\t\t- intArray = (- 1,- 2,- 3) (tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#11) has a storage signed integer array assignment\n",
"markdown": "Contract [A](tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad0()](tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L10-L12)\n\t\t- [intArray = (- 1,- 2,- 3)](tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L11) has a storage signed integer array assignment\n",
+ "first_markdown_element": "tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45",
"id": "da870be9a396bc52d2f6f8caeb00e6b8809ad1b6fb4c24a019568257b3404a2f",
"check": "storage-array",
"impact": "High",
diff --git a/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json b/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json
index 090d98efc..ca52a6c96 100644
--- a/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json
+++ b/tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json
@@ -52,6 +52,7 @@
],
"description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.4.25/suicidal.sol#4-6) allows anyone to destruct the contract\n",
"markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.4.25/suicidal.sol#L4-L6) allows anyone to destruct the contract\n",
+ "first_markdown_element": "tests/detectors/suicidal/0.4.25/suicidal.sol#L4-L6",
"id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7",
"check": "suicidal",
"impact": "High",
diff --git a/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json b/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json
index 761450ce7..8905e2b86 100644
--- a/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json
+++ b/tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json
@@ -52,6 +52,7 @@
],
"description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.5.16/suicidal.sol#4-6) allows anyone to destruct the contract\n",
"markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.5.16/suicidal.sol#L4-L6) allows anyone to destruct the contract\n",
+ "first_markdown_element": "tests/detectors/suicidal/0.5.16/suicidal.sol#L4-L6",
"id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7",
"check": "suicidal",
"impact": "High",
diff --git a/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json b/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json
index 28accbb79..83438012a 100644
--- a/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json
+++ b/tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json
@@ -52,6 +52,7 @@
],
"description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.6.11/suicidal.sol#4-6) allows anyone to destruct the contract\n",
"markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.6.11/suicidal.sol#L4-L6) allows anyone to destruct the contract\n",
+ "first_markdown_element": "tests/detectors/suicidal/0.6.11/suicidal.sol#L4-L6",
"id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7",
"check": "suicidal",
"impact": "High",
diff --git a/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json b/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json
index 31a3ac157..7f3ab87b6 100644
--- a/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json
+++ b/tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json
@@ -52,6 +52,7 @@
],
"description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.7.6/suicidal.sol#4-6) allows anyone to destruct the contract\n",
"markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.7.6/suicidal.sol#L4-L6) allows anyone to destruct the contract\n",
+ "first_markdown_element": "tests/detectors/suicidal/0.7.6/suicidal.sol#L4-L6",
"id": "bb1e4596537b6e2c29f4221e733692fd6dac8555095181718e440ca525016eb7",
"check": "suicidal",
"impact": "High",
diff --git a/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json b/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json
index 408a071e8..84c033bd8 100644
--- a/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json
+++ b/tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json
@@ -145,6 +145,7 @@
],
"description": "Timestamp.bad0() (tests/detectors/timestamp/0.4.25/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.4.25/timestamp.sol#5)\n",
"markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.4.25/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.4.25/timestamp.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L4-L6",
"id": "9d7c44d1a332d53aacc312d316891fc85c62db8b5a5a638a64cdb718c9f20029",
"check": "timestamp",
"impact": "Low",
@@ -297,6 +298,7 @@
],
"description": "Timestamp.bad1() (tests/detectors/timestamp/0.4.25/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.4.25/timestamp.sol#10)\n",
"markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.4.25/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.4.25/timestamp.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L8-L11",
"id": "d2f6167c2351e267210692e16350d8426db102519fe3eaeeadb6d17d2445dbbd",
"check": "timestamp",
"impact": "Low",
@@ -447,6 +449,7 @@
],
"description": "Timestamp.bad2() (tests/detectors/timestamp/0.4.25/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.4.25/timestamp.sol#14)\n",
"markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.4.25/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.4.25/timestamp.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L13-L15",
"id": "2182d79d032d47fdf8137bc06dd7d4c1796356e19fab558e282f5d596391ec58",
"check": "timestamp",
"impact": "Low",
diff --git a/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json b/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json
index 64e70b0dd..93e067ba7 100644
--- a/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json
+++ b/tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json
@@ -145,6 +145,7 @@
],
"description": "Timestamp.bad0() (tests/detectors/timestamp/0.5.16/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.5.16/timestamp.sol#5)\n",
"markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.5.16/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.5.16/timestamp.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L4-L6",
"id": "ae9cf69893e0e1a3487dc6ce8a8ae0f5ea9628607d77d32b3dfcb0202617d6e3",
"check": "timestamp",
"impact": "Low",
@@ -297,6 +298,7 @@
],
"description": "Timestamp.bad1() (tests/detectors/timestamp/0.5.16/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.5.16/timestamp.sol#10)\n",
"markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.5.16/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.5.16/timestamp.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L8-L11",
"id": "95b42362b948094ddfa2507b20840e67789d4c5d92e8e3ddac30f5b6577dc1cb",
"check": "timestamp",
"impact": "Low",
@@ -447,6 +449,7 @@
],
"description": "Timestamp.bad2() (tests/detectors/timestamp/0.5.16/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.5.16/timestamp.sol#14)\n",
"markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.5.16/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.5.16/timestamp.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L13-L15",
"id": "d4fe55a5e15b7b87f60c4156128807b333a4a630b25b18eb3a495b3613f764db",
"check": "timestamp",
"impact": "Low",
diff --git a/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json b/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json
index 74feacec4..a933c4198 100644
--- a/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json
+++ b/tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json
@@ -145,6 +145,7 @@
],
"description": "Timestamp.bad0() (tests/detectors/timestamp/0.6.11/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.6.11/timestamp.sol#5)\n",
"markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.6.11/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.6.11/timestamp.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L4-L6",
"id": "e4e3a8ade3a3bd11b4788b70785548f81395e776a86f2940834731e8f5e05bdc",
"check": "timestamp",
"impact": "Low",
@@ -297,6 +298,7 @@
],
"description": "Timestamp.bad1() (tests/detectors/timestamp/0.6.11/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.6.11/timestamp.sol#10)\n",
"markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.6.11/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.6.11/timestamp.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L8-L11",
"id": "5d42d80cf0c66675f78bbf7717e2c532f05e8b0641d100c436ef8e1d6dc02f61",
"check": "timestamp",
"impact": "Low",
@@ -447,6 +449,7 @@
],
"description": "Timestamp.bad2() (tests/detectors/timestamp/0.6.11/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.6.11/timestamp.sol#14)\n",
"markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.6.11/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.6.11/timestamp.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L13-L15",
"id": "c2c1fc5eaaf8498a2f03135fb61180314cbd104df5ab6b2447620b8ac3978cac",
"check": "timestamp",
"impact": "Low",
diff --git a/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json b/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json
index 3aa1f7d81..5ac960dcc 100644
--- a/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json
+++ b/tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json
@@ -145,6 +145,7 @@
],
"description": "Timestamp.bad0() (tests/detectors/timestamp/0.7.6/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.7.6/timestamp.sol#5)\n",
"markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.7.6/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.7.6/timestamp.sol#L5)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L4-L6",
"id": "e776b1a35c5ff7cecd1cf6eba25c7017c852dfab68d0aaa8b2c8ecaf97b69a6b",
"check": "timestamp",
"impact": "Low",
@@ -297,6 +298,7 @@
],
"description": "Timestamp.bad1() (tests/detectors/timestamp/0.7.6/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.7.6/timestamp.sol#10)\n",
"markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.7.6/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.7.6/timestamp.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L8-L11",
"id": "fc05e44a41cc99fb6e68c9d8bfc8cbc97377f3327ed7a3c75ba170c9e75394d1",
"check": "timestamp",
"impact": "Low",
@@ -447,6 +449,7 @@
],
"description": "Timestamp.bad2() (tests/detectors/timestamp/0.7.6/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.7.6/timestamp.sol#14)\n",
"markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.7.6/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.7.6/timestamp.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L13-L15",
"id": "11b3472709ff3f3a4b3ec47abaa5a62f8dbfcd3b0b6bea0972f5b3d790049130",
"check": "timestamp",
"impact": "Low",
diff --git a/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json b/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json
index 59ff32fbe..a866423ae 100644
--- a/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json
+++ b/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json
@@ -189,6 +189,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#10)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15",
"id": "33591d733ce2e17a001b912024d5bbe2fd89b63811968c715cf1feed5e302ef1",
"check": "too-many-digits",
"impact": "Informational",
@@ -383,6 +384,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#11)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15",
"id": "3e08ab6e8312a9489e23b50c6252a0ae7db88a7fc2c9d83c34d6d8aceb634d08",
"check": "too-many-digits",
"impact": "Informational",
@@ -577,6 +579,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#12)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15",
"id": "07b9feef94432fdda97b5b5f32b4b6acfa23801e48f9fbd9997c5c3142c56474",
"check": "too-many-digits",
"impact": "Informational",
@@ -771,6 +774,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#13)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15",
"id": "809a1adef5afed04cc3371628a1595dd47bb1b1003a9e0cc6be72987c4034345",
"check": "too-many-digits",
"impact": "Informational",
@@ -961,6 +965,7 @@
],
"description": "C.h() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#22)\n",
"markdown": "[C.h()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L20-L24",
"id": "2ae61bfeb6a9bad69fe9cb1990583dae50614da8a86cc9a720493218e11e0aa5",
"check": "too-many-digits",
"impact": "Informational",
diff --git a/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json b/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json
index 538a0945b..5d5827e21 100644
--- a/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json
+++ b/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json
@@ -189,6 +189,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#10)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15",
"id": "1ad454f157e4c16e1b79b5905e83eff1b82192d65933847f4b39548bc170b7ea",
"check": "too-many-digits",
"impact": "Informational",
@@ -383,6 +384,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#11)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15",
"id": "ae48ab82ba202c409ec056e498d7255162ef5ab54ddb9ced3b46feb51f4c5021",
"check": "too-many-digits",
"impact": "Informational",
@@ -577,6 +579,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#12)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15",
"id": "c295b48b8aece38cfd41bceca05ef1953bf5bf0018073076809087a4580ff086",
"check": "too-many-digits",
"impact": "Informational",
@@ -771,6 +774,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#13)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15",
"id": "7e07e946fcdb14de3e3d3bc796f8f6aff17f22002129db4937e0d12767260d3d",
"check": "too-many-digits",
"impact": "Informational",
@@ -961,6 +965,7 @@
],
"description": "C.h() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#22)\n",
"markdown": "[C.h()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L20-L24",
"id": "2ca6b97b24a0e595f484c9a0090c3b17b654c167be300e04d9c2cc9a44406d10",
"check": "too-many-digits",
"impact": "Informational",
diff --git a/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json b/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json
index 93dd13c80..c49da46de 100644
--- a/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json
+++ b/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json
@@ -189,6 +189,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#10)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15",
"id": "d467d1c664634fc17c861de567ef53f0ce8964e9b337127308dad5d3cb0bc343",
"check": "too-many-digits",
"impact": "Informational",
@@ -383,6 +384,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#11)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15",
"id": "302b9a771b1009999d212d50adb2b938ccf41f2c26880fe17060a8922ea4836a",
"check": "too-many-digits",
"impact": "Informational",
@@ -577,6 +579,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#12)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15",
"id": "ed4cd26212cad644e275c3784912d9fe2d0789a9cb731a1a20bfdb30554f6f3a",
"check": "too-many-digits",
"impact": "Informational",
@@ -771,6 +774,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#13)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15",
"id": "b8986c1b09fc9896372df90e6b43a08dfb3e3a920bd002ab5ee9eb4a29f92d95",
"check": "too-many-digits",
"impact": "Informational",
@@ -961,6 +965,7 @@
],
"description": "C.h() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#22)\n",
"markdown": "[C.h()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L20-L24",
"id": "7cd1e51c89ae28bc9bf2c7e406b39f97a648cde765fc2a05c14697648ad27e92",
"check": "too-many-digits",
"impact": "Informational",
diff --git a/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json b/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json
index 4405e5614..b62da518b 100644
--- a/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json
+++ b/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json
@@ -187,6 +187,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#10)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15",
"id": "a053c2f439e1e4ac84469e1aab54f4403d4ab14bf81bae6e7a3d2e489b3514bd",
"check": "too-many-digits",
"impact": "Informational",
@@ -379,6 +380,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#11)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L11)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15",
"id": "41a60e2fb1f3a88adafd67ca77db4633849be26e1b8b9973b8bf9e8ea5a9d024",
"check": "too-many-digits",
"impact": "Informational",
@@ -571,6 +573,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#12)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L12)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15",
"id": "4876b33b2a9fb13f6def960f7f9060cbf858f117079526017b1b35a928771680",
"check": "too-many-digits",
"impact": "Informational",
@@ -763,6 +766,7 @@
],
"description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#13)\n",
"markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L13)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15",
"id": "cb3b2fdb9be68cc3ddd7d4eb949471b64b62cf93ba43c377682cbdca2f81321e",
"check": "too-many-digits",
"impact": "Informational",
@@ -951,6 +955,7 @@
],
"description": "C.h() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#22)\n",
"markdown": "[C.h()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L20-L24",
"id": "dc1ea18f753ecea6946e89eb6676abb3813a16bc6a407e6a54ce87beeee261af",
"check": "too-many-digits",
"impact": "Informational",
diff --git a/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json b/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json
index 50f7e3653..d201f65cf 100644
--- a/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json
+++ b/tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json
@@ -153,6 +153,7 @@
],
"description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.4.25/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.4.25/tx_origin.sol#10)\n",
"markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.4.25/tx_origin.sol#L9-L11",
"id": "b8173796b90a23f4587ed67d7100dfd3c890bf9f96910e177630bb8a6f1703fe",
"check": "tx-origin",
"impact": "Medium",
@@ -315,6 +316,7 @@
],
"description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.4.25/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.4.25/tx_origin.sol#14)\n",
"markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.4.25/tx_origin.sol#L13-L17",
"id": "7abecda0c73eb43dadcd93458222d0848b1dee58af66887f81b9381c90e656f6",
"check": "tx-origin",
"impact": "Medium",
diff --git a/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json b/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json
index 269fefeeb..5f6c7ef12 100644
--- a/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json
+++ b/tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json
@@ -153,6 +153,7 @@
],
"description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.5.16/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.5.16/tx_origin.sol#10)\n",
"markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.5.16/tx_origin.sol#L9-L11",
"id": "17b0e5d0ce8741c95b5fd54f143d62588a291db7741897da6704c30d9e3abccd",
"check": "tx-origin",
"impact": "Medium",
@@ -315,6 +316,7 @@
],
"description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.5.16/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.5.16/tx_origin.sol#14)\n",
"markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.5.16/tx_origin.sol#L13-L17",
"id": "f3508f86e8e1e9edd815558ff94afc9428e8c0e2363a447efb86ceeefbc70ee3",
"check": "tx-origin",
"impact": "Medium",
diff --git a/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json b/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json
index d5e1700f3..6acfcf385 100644
--- a/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json
+++ b/tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json
@@ -153,6 +153,7 @@
],
"description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.6.11/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.6.11/tx_origin.sol#10)\n",
"markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.6.11/tx_origin.sol#L9-L11",
"id": "5eb57935f1e4650e5340de788d03401c5f010c2bf5f0240254d2235bbe1b970b",
"check": "tx-origin",
"impact": "Medium",
@@ -315,6 +316,7 @@
],
"description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.6.11/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.6.11/tx_origin.sol#14)\n",
"markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.6.11/tx_origin.sol#L13-L17",
"id": "817a27177f073d8ab4a011817ea1e6ebb8b7cba8691c8dea621ee65a77871ee0",
"check": "tx-origin",
"impact": "Medium",
diff --git a/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json b/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json
index 489fe228c..2a8ec6848 100644
--- a/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json
+++ b/tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json
@@ -153,6 +153,7 @@
],
"description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.7.6/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.7.6/tx_origin.sol#10)\n",
"markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.7.6/tx_origin.sol#L9-L11",
"id": "d3d9d4cb2307781870af54ebca528052197b021adcabf4d0c3a897e96affece3",
"check": "tx-origin",
"impact": "Medium",
@@ -315,6 +316,7 @@
],
"description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.7.6/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.7.6/tx_origin.sol#14)\n",
"markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/tx-origin/0.7.6/tx_origin.sol#L13-L17",
"id": "1c195c6a3ea5b7e77c12b7580544ef2320699359862c22961726f112ab27b3a5",
"check": "tx-origin",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json
index 8d06bc9b7..3a900f4e0 100644
--- a/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json
+++ b/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json
@@ -125,6 +125,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4",
"id": "5e99856e75f5f5937a5b9f8f90fc9ce01eabfcf97c0d3e2b59f5cd057add9c19",
"check": "unchecked-lowlevel",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json
index 87f21da0f..973f772d7 100644
--- a/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json
+++ b/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json
@@ -127,6 +127,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4",
"id": "f03d14053bc8c0d4a6cacad0f9915b9d1be3a711767d92e994ae01f690e2b9ca",
"check": "unchecked-lowlevel",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json
index a3eb31484..c9fb260fd 100644
--- a/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json
+++ b/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json
@@ -127,6 +127,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4",
"id": "9b10d50510f386ab6f8cbfed4486317d581fcb6795ccc773bb0e7922b4e2512f",
"check": "unchecked-lowlevel",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json b/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json
index b7e64639c..3028fc9dd 100644
--- a/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json
+++ b/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json
@@ -127,6 +127,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#2-4) ignores return value by dst.call{value: msg.value}() (tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call{value: msg.value}()](tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4",
"id": "55182dfa175ac27adc4625cf672f25b6b759d8f4645fed76e35bbeace0733169",
"check": "unchecked-lowlevel",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json b/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json
index 947a30ed0..e863e38ee 100644
--- a/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json
+++ b/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json
@@ -141,6 +141,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L2-L4",
"id": "b94e1c9425182d05c61d316caea5bc02b4b68478b0640db50f80f3a8af690cf8",
"check": "unchecked-send",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json b/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json
index bd9449ba8..415676bbb 100644
--- a/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json
+++ b/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json
@@ -141,6 +141,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L2-L4",
"id": "0a6498f517f4ce099f69fa38244cd23d58ea065fced5890d0cbbc1e5d3cc2c67",
"check": "unchecked-send",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json b/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json
index a6b89cf5c..b1fb56f70 100644
--- a/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json
+++ b/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json
@@ -141,6 +141,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L2-L4",
"id": "9050ea44b0aae908f94739cc228af9e1964fe0b0305fd90797259305f9344b5e",
"check": "unchecked-send",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json b/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json
index 601007430..ff9c1ab2e 100644
--- a/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json
+++ b/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json
@@ -141,6 +141,7 @@
],
"description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#3)\n",
"markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L3)\n",
+ "first_markdown_element": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L2-L4",
"id": "74d3637eb50def7c93e85041859377832449a73e2546ab915ac91aef6d9a30e8",
"check": "unchecked-send",
"impact": "Medium",
diff --git a/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol b/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol
new file mode 100644
index 000000000..dc16943df
--- /dev/null
+++ b/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol
@@ -0,0 +1,63 @@
+contract Token {
+ function transfer(address _to, uint256 _value) public returns (bool success) {
+ return true;
+ }
+ function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
+ return true;
+ }
+ function other() public returns (bool) {
+ return true;
+ }
+}
+contract C {
+ Token t;
+
+ constructor() public {
+ t = new Token();
+ }
+
+ // calling the transfer function
+ function bad0() public{
+ t.transfer(address(0), 1 ether);
+ }
+ function good0() public{
+ bool a = t.transfer(address(0), 1 ether);
+ }
+ function good1() public{
+ require(t.transfer(address(0), 1 ether), "failed");
+ }
+ function good2() public{
+ assert(t.transfer(address(0), 1 ether));
+ }
+ function good3() public returns (bool) {
+ return t.transfer(address(0), 1 ether);
+ }
+ function good4() public returns (bool ret) {
+ ret = t.transfer(address(0), 1 ether);
+ }
+
+ // calling the transferFrom function
+ function bad1() public {
+ t.transferFrom(address(this), address(0), 1 ether);
+ }
+ function good5() public{
+ bool a = t.transferFrom(address(this), address(0), 1 ether);
+ }
+ function good6() public{
+ require(t.transferFrom(address(this), address(0), 1 ether), "failed");
+ }
+ function good7() public{
+ assert(t.transferFrom(address(this), address(0), 1 ether));
+ }
+ function good8() public returns (bool) {
+ return t.transferFrom(address(this), address(0), 1 ether);
+ }
+ function good9() public returns (bool ret) {
+ ret = t.transferFrom(address(this), address(0), 1 ether);
+ }
+
+ // calling the other function
+ function good10() public {
+ t.other();
+ }
+}
\ No newline at end of file
diff --git a/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json b/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json
new file mode 100644
index 000000000..174bf3b41
--- /dev/null
+++ b/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json
@@ -0,0 +1,438 @@
+[
+ [
+ {
+ "elements": [
+ {
+ "type": "function",
+ "name": "bad0",
+ "source_mapping": {
+ "start": 461,
+ "length": 70,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 20,
+ 21,
+ 22
+ ],
+ "starting_column": 5,
+ "ending_column": 6
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "contract",
+ "name": "C",
+ "source_mapping": {
+ "start": 330,
+ "length": 1456,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64
+ ],
+ "starting_column": 1,
+ "ending_column": 0
+ }
+ },
+ "signature": "bad0()"
+ }
+ },
+ {
+ "type": "node",
+ "name": "t.transfer(address(0),1000000000000000000)",
+ "source_mapping": {
+ "start": 493,
+ "length": 31,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 21
+ ],
+ "starting_column": 9,
+ "ending_column": 40
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "function",
+ "name": "bad0",
+ "source_mapping": {
+ "start": 461,
+ "length": 70,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 20,
+ 21,
+ 22
+ ],
+ "starting_column": 5,
+ "ending_column": 6
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "contract",
+ "name": "C",
+ "source_mapping": {
+ "start": 330,
+ "length": 1456,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64
+ ],
+ "starting_column": 1,
+ "ending_column": 0
+ }
+ },
+ "signature": "bad0()"
+ }
+ }
+ }
+ }
+ ],
+ "description": "C.bad0() (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#20-22) ignores return value by t.transfer(address(0),1000000000000000000) (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#21)\n",
+ "markdown": "[C.bad0()](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22) ignores return value by [t.transfer(address(0),1000000000000000000)](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L21)\n",
+ "first_markdown_element": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22",
+ "id": "80065ea26ff38c396f5e90355b471bae6064c77a22e2c248d2cb8212542fd685",
+ "check": "unchecked-transfer",
+ "impact": "High",
+ "confidence": "Medium"
+ },
+ {
+ "elements": [
+ {
+ "type": "function",
+ "name": "bad1",
+ "source_mapping": {
+ "start": 1043,
+ "length": 90,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 40,
+ 41,
+ 42
+ ],
+ "starting_column": 5,
+ "ending_column": 6
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "contract",
+ "name": "C",
+ "source_mapping": {
+ "start": 330,
+ "length": 1456,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64
+ ],
+ "starting_column": 1,
+ "ending_column": 0
+ }
+ },
+ "signature": "bad1()"
+ }
+ },
+ {
+ "type": "node",
+ "name": "t.transferFrom(address(this),address(0),1000000000000000000)",
+ "source_mapping": {
+ "start": 1076,
+ "length": 50,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 41
+ ],
+ "starting_column": 9,
+ "ending_column": 59
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "function",
+ "name": "bad1",
+ "source_mapping": {
+ "start": 1043,
+ "length": 90,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 40,
+ 41,
+ 42
+ ],
+ "starting_column": 5,
+ "ending_column": 6
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "contract",
+ "name": "C",
+ "source_mapping": {
+ "start": 330,
+ "length": 1456,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol",
+ "is_dependency": false,
+ "lines": [
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64
+ ],
+ "starting_column": 1,
+ "ending_column": 0
+ }
+ },
+ "signature": "bad1()"
+ }
+ }
+ }
+ }
+ ],
+ "description": "C.bad1() (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#40-42) ignores return value by t.transferFrom(address(this),address(0),1000000000000000000) (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#41)\n",
+ "markdown": "[C.bad1()](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42) ignores return value by [t.transferFrom(address(this),address(0),1000000000000000000)](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L41)\n",
+ "first_markdown_element": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42",
+ "id": "f5cc3050f74f696eb02ce0887fca6c8b0a4a8a663974a8eddec9206ad787295d",
+ "check": "unchecked-transfer",
+ "impact": "High",
+ "confidence": "Medium"
+ }
+ ]
+]
\ No newline at end of file
diff --git a/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json
index 0d62d9d1b..86616d80a 100644
--- a/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json
+++ b/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json
@@ -110,6 +110,7 @@
],
"description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#7)\n",
"markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14",
"id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -187,6 +188,7 @@
],
"description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#17)\n",
"markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L17)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21",
"id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -262,6 +264,7 @@
],
"description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n",
"markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33",
"id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -337,6 +340,7 @@
],
"description": "DerivedContract_good (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n",
"markdown": "[DerivedContract_good](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41",
"id": "08d3e8a72b5da6d189acb46ecd36f00787a87812727526a0cae248a2bac348fc",
"check": "unimplemented-functions",
"impact": "Informational",
diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json
index 3d242cab8..7640028a9 100644
--- a/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json
+++ b/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json
@@ -110,6 +110,7 @@
],
"description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#7)\n",
"markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14",
"id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -187,6 +188,7 @@
],
"description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#17)\n",
"markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L17)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21",
"id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7",
"check": "unimplemented-functions",
"impact": "Informational",
diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json
index 8b388b46a..418279203 100644
--- a/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json
+++ b/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json
@@ -110,6 +110,7 @@
],
"description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#7)\n",
"markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14",
"id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -187,6 +188,7 @@
],
"description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#17)\n",
"markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L17)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21",
"id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -262,6 +264,7 @@
],
"description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#24)\n",
"markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33",
"id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda",
"check": "unimplemented-functions",
"impact": "Informational",
diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json b/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json
index 0dba2a195..e3074383a 100644
--- a/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json
+++ b/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json
@@ -110,6 +110,7 @@
],
"description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#7)\n",
"markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L7)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14",
"id": "8614d351f7aac0c05e8df6ef7c89c6b46a2b8acf6295c9d5a886ff6489c74a41",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -187,6 +188,7 @@
],
"description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#17)\n",
"markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L17)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21",
"id": "adc202df4717efc4e19b549c0e623a79fac759a36bffb5d5e4aac401e33375d7",
"check": "unimplemented-functions",
"impact": "Informational",
@@ -262,6 +264,7 @@
],
"description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#24)\n",
"markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L24)\n",
+ "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33",
"id": "31915d2f480e24ddd054de973440a02abdac0ccd6332c47cd4eb8d836d3fddda",
"check": "unimplemented-functions",
"impact": "Informational",
diff --git a/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json b/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json
index 1cfe398dc..83bc555c0 100644
--- a/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json
+++ b/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json
@@ -98,6 +98,7 @@
],
"description": "Contract bad0 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad0](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L7) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9",
"id": "38a85244054f0e06f1d3b476742113d0cf1cbe82b6c2a16f6abfa8cb7611aa2d",
"check": "uninitialized-fptr-cst",
"impact": "Low",
@@ -204,6 +205,7 @@
],
"description": "Contract bad1 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad1](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L16) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18",
"id": "eca46630e741d928b03312539f0e9ddfb182cb16b0425b5ff881a7800a50511e",
"check": "uninitialized-fptr-cst",
"impact": "Low",
@@ -312,6 +314,7 @@
],
"description": "Contract bad2 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad2](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L27) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29",
"id": "1b01aa44445395d800ebe53b807c6884d1c5fc96d38f255bc402e1b339a8a6f2",
"check": "uninitialized-fptr-cst",
"impact": "Low",
@@ -424,6 +427,7 @@
],
"description": "Contract bad3 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad3](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L36) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42",
"id": "4bfb037a7504ad1a677e70cdba68b2b4d47f485e4c0d039ac0a6364465b4e56e",
"check": "uninitialized-fptr-cst",
"impact": "Low",
diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json b/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json
index bff41fa3c..3c3591c5d 100644
--- a/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json
+++ b/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json
@@ -98,6 +98,7 @@
],
"description": "Contract bad0 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#7) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad0](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L7) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9",
"id": "e1e469fcf69ffbf93884287be133945396a1a363e77db02f241c90027f19bf48",
"check": "uninitialized-fptr-cst",
"impact": "Low",
@@ -204,11 +205,121 @@
],
"description": "Contract bad1 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#16) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad1](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L16) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18",
"id": "0a6083d96a9a819c3ddc6d0dc1440fb8e8ec096abe5a7b6bf8951a2dacc11c56",
"check": "uninitialized-fptr-cst",
"impact": "Low",
"confidence": "High"
},
+ {
+ "elements": [
+ {
+ "type": "contract",
+ "name": "bad2",
+ "source_mapping": {
+ "start": 486,
+ "length": 199,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "is_dependency": false,
+ "lines": [
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29
+ ],
+ "starting_column": 1,
+ "ending_column": 2
+ }
+ },
+ {
+ "type": "node",
+ "name": "s.a(10)",
+ "source_mapping": {
+ "start": 671,
+ "length": 7,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "is_dependency": false,
+ "lines": [
+ 27
+ ],
+ "starting_column": 5,
+ "ending_column": 12
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "function",
+ "name": "constructor",
+ "source_mapping": {
+ "start": 628,
+ "length": 55,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "is_dependency": false,
+ "lines": [
+ 25,
+ 26,
+ 27,
+ 28
+ ],
+ "starting_column": 3,
+ "ending_column": 4
+ },
+ "type_specific_fields": {
+ "parent": {
+ "type": "contract",
+ "name": "bad2",
+ "source_mapping": {
+ "start": 486,
+ "length": 199,
+ "filename_used": "/GENERIC_PATH",
+ "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "filename_absolute": "/GENERIC_PATH",
+ "filename_short": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol",
+ "is_dependency": false,
+ "lines": [
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29
+ ],
+ "starting_column": 1,
+ "ending_column": 2
+ }
+ },
+ "signature": "constructor()"
+ }
+ }
+ }
+ }
+ ],
+ "description": "Contract bad2 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#27) is an unintialized function pointer call in a constructor\n",
+ "markdown": "Contract [bad2](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L27) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29",
+ "id": "0ac2c56701b85e4123747f055651dfab2a1ddb0954e9065b7f39ecf21c6810b7",
+ "check": "uninitialized-fptr-cst",
+ "impact": "Low",
+ "confidence": "High"
+ },
{
"elements": [
{
@@ -316,6 +427,7 @@
],
"description": "Contract bad3 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#36) is an unintialized function pointer call in a constructor\n",
"markdown": "Contract [bad3](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L36) is an unintialized function pointer call in a constructor\n",
+ "first_markdown_element": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42",
"id": "fcca4434be6b4f21d40d12aa57d4fb266d2a7ecc4ca4888cc3e6bf7509c9e8e7",
"check": "uninitialized-fptr-cst",
"impact": "Low",
diff --git a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json
index 2c7ed9e83..f28259a77 100644
--- a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json
+++ b/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json
@@ -76,6 +76,7 @@
],
"description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#4) is a local variable never initialized\n",
"markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4) is a local variable never initialized\n",
+ "first_markdown_element": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4",
"id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476",
"check": "uninitialized-local",
"impact": "Medium",
diff --git a/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json
index 4bab46edf..81ecc20fc 100644
--- a/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json
+++ b/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json
@@ -76,6 +76,7 @@
],
"description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#4) is a local variable never initialized\n",
"markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4) is a local variable never initialized\n",
+ "first_markdown_element": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4",
"id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476",
"check": "uninitialized-local",
"impact": "Medium",
diff --git a/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json
index d7dbfa819..5e51267d9 100644
--- a/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json
+++ b/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json
@@ -76,6 +76,7 @@
],
"description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#4) is a local variable never initialized\n",
"markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4) is a local variable never initialized\n",
+ "first_markdown_element": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4",
"id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476",
"check": "uninitialized-local",
"impact": "Medium",
diff --git a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json b/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json
index 9e58a8385..85a056f29 100644
--- a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json
+++ b/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json
@@ -76,6 +76,7 @@
],
"description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#4) is a local variable never initialized\n",
"markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4) is a local variable never initialized\n",
+ "first_markdown_element": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4",
"id": "6ef627d0a3f7234c0d3dd339ae4cf3c1adf898f03384e08c3c8d846c67e0d476",
"check": "uninitialized-local",
"impact": "Medium",
diff --git a/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json
index 9b949a3b3..7cffff3a3 100644
--- a/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json
+++ b/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json
@@ -100,6 +100,7 @@
],
"description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#7-9)\n",
"markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L7-L9)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L5",
"id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44",
"check": "uninitialized-state",
"impact": "High",
@@ -216,6 +217,7 @@
],
"description": "Test.balances (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#23-26)\n",
"markdown": "[Test.balances](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L23-L26)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L15",
"id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7",
"check": "uninitialized-state",
"impact": "High",
@@ -338,6 +340,7 @@
],
"description": "Test2.st (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#53-56)\n",
"markdown": "[Test2.st](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L53-L56)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L45",
"id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32",
"check": "uninitialized-state",
"impact": "High",
@@ -459,6 +462,7 @@
],
"description": "Test2.v (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#49-51)\n",
"markdown": "[Test2.v](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L49-L51)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L47",
"id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7",
"check": "uninitialized-state",
"impact": "High",
diff --git a/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json
index fbf23d670..b57293e93 100644
--- a/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json
+++ b/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json
@@ -100,6 +100,7 @@
],
"description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#7-9)\n",
"markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L7-L9)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L5",
"id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44",
"check": "uninitialized-state",
"impact": "High",
@@ -216,6 +217,7 @@
],
"description": "Test.balances (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#23-26)\n",
"markdown": "[Test.balances](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L23-L26)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L15",
"id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7",
"check": "uninitialized-state",
"impact": "High",
@@ -338,6 +340,7 @@
],
"description": "Test2.st (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#53-56)\n",
"markdown": "[Test2.st](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L53-L56)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L45",
"id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32",
"check": "uninitialized-state",
"impact": "High",
@@ -459,6 +462,7 @@
],
"description": "Test2.v (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#49-51)\n",
"markdown": "[Test2.v](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L49-L51)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L47",
"id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7",
"check": "uninitialized-state",
"impact": "High",
diff --git a/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json
index 9cc41b350..e82e93548 100644
--- a/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json
+++ b/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json
@@ -100,6 +100,7 @@
],
"description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#7-9)\n",
"markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L7-L9)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L5",
"id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44",
"check": "uninitialized-state",
"impact": "High",
@@ -216,6 +217,7 @@
],
"description": "Test.balances (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#23-26)\n",
"markdown": "[Test.balances](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L23-L26)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L15",
"id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7",
"check": "uninitialized-state",
"impact": "High",
@@ -338,6 +340,7 @@
],
"description": "Test2.st (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#53-56)\n",
"markdown": "[Test2.st](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L53-L56)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L45",
"id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32",
"check": "uninitialized-state",
"impact": "High",
@@ -459,6 +462,7 @@
],
"description": "Test2.v (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#49-51)\n",
"markdown": "[Test2.v](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L49-L51)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L47",
"id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7",
"check": "uninitialized-state",
"impact": "High",
diff --git a/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json b/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json
index 7ab708ebb..a35c50194 100644
--- a/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json
+++ b/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json
@@ -100,6 +100,7 @@
],
"description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#7-9)\n",
"markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L7-L9)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L5",
"id": "e4711aebbd53922a9fe1e728917bf8e98eac065305e20d766b6b552debe79e44",
"check": "uninitialized-state",
"impact": "High",
@@ -216,6 +217,7 @@
],
"description": "Test.balances (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#23-26)\n",
"markdown": "[Test.balances](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L23-L26)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L15",
"id": "a2750d175b02d51aeb47a4576f74725ba991d3c8cf828a33ee78ccc34cf9e7d7",
"check": "uninitialized-state",
"impact": "High",
@@ -338,6 +340,7 @@
],
"description": "Test2.st (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#53-56)\n",
"markdown": "[Test2.st](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L53-L56)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L45",
"id": "427f100397f455d8000eff7b1d2463763ca8e452d5d98f7b7de693fd5e625a32",
"check": "uninitialized-state",
"impact": "High",
@@ -459,6 +462,7 @@
],
"description": "Test2.v (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#49-51)\n",
"markdown": "[Test2.v](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L49-L51)\n",
+ "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L47",
"id": "bf96eee949943a12926cf1407a2df2b07e99b30a6fc2e78aebf088cdefcf77a7",
"check": "uninitialized-state",
"impact": "High",
diff --git a/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json b/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json
index 2cd9cec24..26ae1fba0 100644
--- a/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json
+++ b/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json
@@ -82,6 +82,7 @@
],
"description": "Uninitialized.func().st_bug (tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#10) is a storage variable never initialized\n",
"markdown": "[Uninitialized.func().st_bug](tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10) is a storage variable never initialized\n",
+ "first_markdown_element": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10",
"id": "b8f7c2470a8a7f83fd42dca40c50cbf2070e7fa5486c674585f2b0b39d3dc429",
"check": "uninitialized-storage",
"impact": "High",
diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json
index 598d05ce7..28fd9cd3c 100644
--- a/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json
+++ b/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json
@@ -143,6 +143,7 @@
],
"description": "Buggy (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#3-15) is an upgradeable contract that does not protect its initiliaze functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#10-13)",
"markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initiliaze functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L10-L13)",
+ "first_markdown_element": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15",
"id": "aceca400ce0b482809a70df612af22e24d154c5c89c24d630ec0ee5a366d09fe",
"check": "unprotected-upgrade",
"impact": "High",
diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json
index 4df38a929..d5452021e 100644
--- a/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json
+++ b/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json
@@ -143,6 +143,7 @@
],
"description": "Buggy (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#3-15) is an upgradeable contract that does not protect its initiliaze functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#10-13)",
"markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initiliaze functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L10-L13)",
+ "first_markdown_element": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15",
"id": "aceca400ce0b482809a70df612af22e24d154c5c89c24d630ec0ee5a366d09fe",
"check": "unprotected-upgrade",
"impact": "High",
diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json
index 5e25b4600..b0fe359e4 100644
--- a/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json
+++ b/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json
@@ -143,6 +143,7 @@
],
"description": "Buggy (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#3-15) is an upgradeable contract that does not protect its initiliaze functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#10-13)",
"markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initiliaze functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L10-L13)",
+ "first_markdown_element": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15",
"id": "aceca400ce0b482809a70df612af22e24d154c5c89c24d630ec0ee5a366d09fe",
"check": "unprotected-upgrade",
"impact": "High",
diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json b/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json
index e37e61abb..10f2a2b28 100644
--- a/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json
+++ b/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json
@@ -143,6 +143,7 @@
],
"description": "Buggy (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#3-15) is an upgradeable contract that does not protect its initiliaze functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#10-13)",
"markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initiliaze functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L10-L13)",
+ "first_markdown_element": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15",
"id": "aceca400ce0b482809a70df612af22e24d154c5c89c24d630ec0ee5a366d09fe",
"check": "unprotected-upgrade",
"impact": "High",
diff --git a/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json b/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json
index 5a60cb35a..91aed0691 100644
--- a/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json
+++ b/tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json
@@ -161,6 +161,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.4.25/unused_return.sol#18)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.4.25/unused_return.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29",
"id": "73c54c292f1f2fb8a8d88b230cd0bf2da3bc8fff0d758b009839ca883b36c84e",
"check": "unused-return",
"impact": "Medium",
@@ -327,6 +328,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.4.25/unused_return.sol#22)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.4.25/unused_return.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29",
"id": "619bba0a79919e4f53e583a88cd4e32f204489c8d86e365a20bf3f9ce4c0f542",
"check": "unused-return",
"impact": "Medium",
diff --git a/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json b/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json
index d3d0b9438..99bbf612b 100644
--- a/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json
+++ b/tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json
@@ -161,6 +161,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.5.16/unused_return.sol#18)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.5.16/unused_return.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29",
"id": "190c5a143431b8a4d621e698c6dc665e87146a1cd2543177212f1114eb714c43",
"check": "unused-return",
"impact": "Medium",
@@ -327,6 +328,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.5.16/unused_return.sol#22)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.5.16/unused_return.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29",
"id": "c31ab267ad74015229067bab954de4f1edb4eaa7d39df6f3f01646911acddb14",
"check": "unused-return",
"impact": "Medium",
diff --git a/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json b/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json
index d46c4881b..410c117c3 100644
--- a/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json
+++ b/tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json
@@ -161,6 +161,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.6.11/unused_return.sol#18)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.6.11/unused_return.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29",
"id": "4e72a6afeb16bff32ed54f32875103a79d36d8fb42eefeb6ddfdc9d2cfb9894a",
"check": "unused-return",
"impact": "Medium",
@@ -327,6 +328,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.6.11/unused_return.sol#22)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.6.11/unused_return.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29",
"id": "7dda2ecde076f87319f13a922c2b0daacf6fe31578c06e28fc45383520429a6d",
"check": "unused-return",
"impact": "Medium",
diff --git a/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json b/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json
index a2572a7c2..37152b359 100644
--- a/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json
+++ b/tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json
@@ -161,6 +161,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.7.6/unused_return.sol#18)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.7.6/unused_return.sol#L18)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29",
"id": "d5027a5d25ac3528c0d03d48a3bbd9ef6ea582b2a286b47e8e7f741c26c35634",
"check": "unused-return",
"impact": "Medium",
@@ -327,6 +328,7 @@
],
"description": "User.test(Target) (tests/detectors/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.7.6/unused_return.sol#22)\n",
"markdown": "[User.test(Target)](tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.7.6/unused_return.sol#L22)\n",
+ "first_markdown_element": "tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29",
"id": "3774dfb7de028a13f2945c0e19a075ffb1fb27a7785aaaf79dff863f7f1bbec7",
"check": "unused-return",
"impact": "Medium",
diff --git a/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json b/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json
index 816a4a3a1..ba44c43a3 100644
--- a/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json
+++ b/tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json
@@ -72,6 +72,7 @@
],
"description": "A.unused (tests/detectors/unused-state/0.4.25/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n",
"markdown": "[A.unused](tests/detectors/unused-state/0.4.25/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L4",
"id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482",
"check": "unused-state",
"impact": "Informational",
@@ -149,6 +150,7 @@
],
"description": "A.unused2 (tests/detectors/unused-state/0.4.25/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n",
"markdown": "[A.unused2](tests/detectors/unused-state/0.4.25/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L5",
"id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870",
"check": "unused-state",
"impact": "Informational",
@@ -226,6 +228,7 @@
],
"description": "A.unused3 (tests/detectors/unused-state/0.4.25/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n",
"markdown": "[A.unused3](tests/detectors/unused-state/0.4.25/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L6",
"id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48",
"check": "unused-state",
"impact": "Informational",
@@ -303,6 +306,7 @@
],
"description": "A.unused4 (tests/detectors/unused-state/0.4.25/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n",
"markdown": "[A.unused4](tests/detectors/unused-state/0.4.25/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L7",
"id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2",
"check": "unused-state",
"impact": "Informational",
diff --git a/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json b/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json
index 95631c477..5f3f1b7d0 100644
--- a/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json
+++ b/tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json
@@ -72,6 +72,7 @@
],
"description": "A.unused (tests/detectors/unused-state/0.5.16/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n",
"markdown": "[A.unused](tests/detectors/unused-state/0.5.16/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L4",
"id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482",
"check": "unused-state",
"impact": "Informational",
@@ -149,6 +150,7 @@
],
"description": "A.unused2 (tests/detectors/unused-state/0.5.16/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n",
"markdown": "[A.unused2](tests/detectors/unused-state/0.5.16/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L5",
"id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870",
"check": "unused-state",
"impact": "Informational",
@@ -226,6 +228,7 @@
],
"description": "A.unused3 (tests/detectors/unused-state/0.5.16/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n",
"markdown": "[A.unused3](tests/detectors/unused-state/0.5.16/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L6",
"id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48",
"check": "unused-state",
"impact": "Informational",
@@ -303,6 +306,7 @@
],
"description": "A.unused4 (tests/detectors/unused-state/0.5.16/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n",
"markdown": "[A.unused4](tests/detectors/unused-state/0.5.16/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L7",
"id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2",
"check": "unused-state",
"impact": "Informational",
diff --git a/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json b/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json
index 24982d4a4..ee43e3df6 100644
--- a/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json
+++ b/tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json
@@ -72,6 +72,7 @@
],
"description": "A.unused (tests/detectors/unused-state/0.6.11/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n",
"markdown": "[A.unused](tests/detectors/unused-state/0.6.11/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L4",
"id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482",
"check": "unused-state",
"impact": "Informational",
@@ -149,6 +150,7 @@
],
"description": "A.unused2 (tests/detectors/unused-state/0.6.11/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n",
"markdown": "[A.unused2](tests/detectors/unused-state/0.6.11/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L5",
"id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870",
"check": "unused-state",
"impact": "Informational",
@@ -226,6 +228,7 @@
],
"description": "A.unused3 (tests/detectors/unused-state/0.6.11/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n",
"markdown": "[A.unused3](tests/detectors/unused-state/0.6.11/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L6",
"id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48",
"check": "unused-state",
"impact": "Informational",
@@ -303,6 +306,7 @@
],
"description": "A.unused4 (tests/detectors/unused-state/0.6.11/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n",
"markdown": "[A.unused4](tests/detectors/unused-state/0.6.11/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L7",
"id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2",
"check": "unused-state",
"impact": "Informational",
diff --git a/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json b/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json
index bb0efa254..7bf0db31b 100644
--- a/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json
+++ b/tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json
@@ -72,6 +72,7 @@
],
"description": "A.unused (tests/detectors/unused-state/0.7.6/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n",
"markdown": "[A.unused](tests/detectors/unused-state/0.7.6/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L4",
"id": "195279490862ae355bac3d27d0cdb1aa18200a5daed8f3dbd84dc5b120e29482",
"check": "unused-state",
"impact": "Informational",
@@ -149,6 +150,7 @@
],
"description": "A.unused2 (tests/detectors/unused-state/0.7.6/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n",
"markdown": "[A.unused2](tests/detectors/unused-state/0.7.6/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L5",
"id": "886250d01813743573f3d311b742e0f818e0012ccbf8ad97738c029fd129d870",
"check": "unused-state",
"impact": "Informational",
@@ -226,6 +228,7 @@
],
"description": "A.unused3 (tests/detectors/unused-state/0.7.6/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n",
"markdown": "[A.unused3](tests/detectors/unused-state/0.7.6/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L6",
"id": "e2ac51590509d97ff791ce50d9a711fc5ad01c20d23eacf6fb31939bd91b9f48",
"check": "unused-state",
"impact": "Informational",
@@ -303,6 +306,7 @@
],
"description": "A.unused4 (tests/detectors/unused-state/0.7.6/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n",
"markdown": "[A.unused4](tests/detectors/unused-state/0.7.6/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n",
+ "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L7",
"id": "562d3e6a04f6f6068c3e4f0c074ecdbcff87929e43ec6fbeb6c088e715f63cf2",
"check": "unused-state",
"impact": "Informational",
diff --git a/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json b/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json
index c298e28cb..baa4240bc 100644
--- a/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json
+++ b/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json
@@ -261,6 +261,7 @@
],
"description": "Variable 'C.f(uint256).x (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#5)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: y = x + 9 + z (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#4)\n",
"markdown": "Variable '[C.f(uint256).x](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L5)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [y = x + 9 + z](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L4)\n",
+ "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L5",
"id": "ede1e902fdfe70c5e7cf91f33df8540f1d15952d00f70a9a5dfb9edbcbe49cb6",
"check": "variable-scope",
"impact": "Low",
@@ -527,6 +528,7 @@
],
"description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i = 10 (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n",
"markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i = 10](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8",
"id": "940660958df422ffbfe30b13d535439b2cb3f84146a23034087228c4e9016d75",
"check": "variable-scope",
"impact": "Low",
@@ -793,6 +795,7 @@
],
"description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i > 0 (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n",
"markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i > 0](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8",
"id": "ffb778e86e0b11beed38687c3abf9ffd0de948ec4ccc0109a78954741220de9e",
"check": "variable-scope",
"impact": "Low",
@@ -1059,6 +1062,7 @@
],
"description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: x += i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#15)\n",
"markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [x += i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L15)\n",
+ "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8",
"id": "e346a217ae6931f9fa7ff70302d05db17c0422dd4272f87935b633950239b592",
"check": "variable-scope",
"impact": "Low",
@@ -1325,6 +1329,7 @@
],
"description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i -- (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n",
"markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i --](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n",
+ "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8",
"id": "24ed055a29ee9bac066b9a99a36d40f7bd77314605d8f1a6440a5576a38b24fb",
"check": "variable-scope",
"impact": "Low",
diff --git a/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json b/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json
index b43a4776c..62b547d5b 100644
--- a/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json
+++ b/tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json
@@ -119,6 +119,7 @@
],
"description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.4.25/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.4.25/void-cst.sol#10)\n",
"markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.4.25/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.4.25/void-cst.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/void-cst/0.4.25/void-cst.sol#L10-L12",
"id": "7681f77ce859599a0a88c8ba4dc60b6d55c064eca36867236bb157cbf2b65392",
"check": "void-cst",
"impact": "Low",
diff --git a/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json b/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json
index 3eecef068..c6e5c8f95 100644
--- a/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json
+++ b/tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json
@@ -119,6 +119,7 @@
],
"description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.5.16/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.5.16/void-cst.sol#10)\n",
"markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.5.16/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.5.16/void-cst.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/void-cst/0.5.16/void-cst.sol#L10-L12",
"id": "205eb5189a286fb251c8bfdf19fdd45acfab353670b5af81be434e43fbf1259f",
"check": "void-cst",
"impact": "Low",
diff --git a/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json b/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json
index 30d6efa68..4f2c52cdd 100644
--- a/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json
+++ b/tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json
@@ -119,6 +119,7 @@
],
"description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.6.11/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.6.11/void-cst.sol#10)\n",
"markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.6.11/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.6.11/void-cst.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/void-cst/0.6.11/void-cst.sol#L10-L12",
"id": "ad3ebdf765f3b6e552dc65d3fd2e92ec13535139316d1063cd76bb521b265bd7",
"check": "void-cst",
"impact": "Low",
diff --git a/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json b/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json
index b67810729..0288f25da 100644
--- a/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json
+++ b/tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json
@@ -119,6 +119,7 @@
],
"description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.7.6/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.7.6/void-cst.sol#10)\n",
"markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.7.6/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.7.6/void-cst.sol#L10)\n",
+ "first_markdown_element": "tests/detectors/void-cst/0.7.6/void-cst.sol#L10-L12",
"id": "deffcf2d974f53d4993c8cb12ada6abdb84e44ceea422e2261068e4fb2e663ac",
"check": "void-cst",
"impact": "Low",
diff --git a/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json b/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json
index 8e2d0e274..c1cb5e048 100644
--- a/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json
+++ b/tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json
@@ -159,6 +159,7 @@
],
"description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#5)\" \n",
"markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L5)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L4-L6",
"id": "fc717c512384a74aab058df35c032bca15e276f4e03446ad7b52f33acac1a556",
"check": "weak-prng",
"impact": "High",
@@ -323,6 +324,7 @@
],
"description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#9)\" \n",
"markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L9)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L8-L10",
"id": "b6c45323a90c31dea54db817de9a3d13e40431227ca6240465e43183004f6541",
"check": "weak-prng",
"impact": "High",
@@ -487,6 +489,7 @@
],
"description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#13)\" \n",
"markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L13)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L12-L14",
"id": "4ac936f85dc1e903d3d6688aaea992d3a5b124bb90eb73eb372dffcc60ccd9dc",
"check": "weak-prng",
"impact": "High",
@@ -651,6 +654,7 @@
],
"description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#21)\" \n",
"markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L21)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L20-L22",
"id": "9ea8ea8faa26193b33dc2b3be5a338350aa82a076a4b5ec387ad8f5c15b7181f",
"check": "weak-prng",
"impact": "High",
diff --git a/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json b/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json
index 24bc23f7e..06344769b 100644
--- a/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json
+++ b/tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json
@@ -159,6 +159,7 @@
],
"description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#5)\" \n",
"markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L5)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L4-L6",
"id": "5bb9fd5cdaccfeb6303fb8ea676c6aed0164ba2ce3fc8b5c2778cd280afe61b0",
"check": "weak-prng",
"impact": "High",
@@ -323,6 +324,7 @@
],
"description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#9)\" \n",
"markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L9)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L8-L10",
"id": "963866d884f65c4552ae10288cc1f92de1050f5f6254d4d2df132c7fbb7ce773",
"check": "weak-prng",
"impact": "High",
@@ -487,6 +489,7 @@
],
"description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#13)\" \n",
"markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L13)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L12-L14",
"id": "4769d2b25e78345ad05fa046a989f5f5545739c20e8c2b93c2968cdca69a5501",
"check": "weak-prng",
"impact": "High",
@@ -651,6 +654,7 @@
],
"description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#21)\" \n",
"markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L21)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L20-L22",
"id": "342f1496b7a91c084d108fd76054672be5ac3a1a5481f907b93d3c72e32f70dc",
"check": "weak-prng",
"impact": "High",
diff --git a/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json b/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json
index 4b2fb4bd5..acf094666 100644
--- a/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json
+++ b/tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json
@@ -159,6 +159,7 @@
],
"description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#5)\" \n",
"markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L5)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6",
"id": "bfdb804ad9a58c4a694182e0f4dff561ffe37a0680f850763136ac57af57cea6",
"check": "weak-prng",
"impact": "High",
@@ -323,6 +324,7 @@
],
"description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#9)\" \n",
"markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L9)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10",
"id": "4651cdacc944504d793e3c0dfa85684df0c31ccd1435fb1bdf7f952a5c743aac",
"check": "weak-prng",
"impact": "High",
@@ -487,6 +489,7 @@
],
"description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#13)\" \n",
"markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L13)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14",
"id": "95c977967e6bb17afe7c6c10389750fcd98a2f0bf7fa9beb08d3e7214e2f63d7",
"check": "weak-prng",
"impact": "High",
@@ -651,6 +654,7 @@
],
"description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#21)\" \n",
"markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L21)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22",
"id": "211bbc7b73c90c6ae03f3e73c2b306c74699381229a4af6d4687891b024f2189",
"check": "weak-prng",
"impact": "High",
diff --git a/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json b/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json
index 82add8a7e..18a7add1c 100644
--- a/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json
+++ b/tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json
@@ -159,6 +159,7 @@
],
"description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#5)\" \n",
"markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L5)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6",
"id": "1699e708ab01560cde36ac92caaf0abd7c3de733431340f4719b1dfd3544a6ef",
"check": "weak-prng",
"impact": "High",
@@ -323,6 +324,7 @@
],
"description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#9)\" \n",
"markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L9)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10",
"id": "e27e978d7016cb26d0d372e84c7f4e1bbd6e45af239e195823b3b138713430a6",
"check": "weak-prng",
"impact": "High",
@@ -487,6 +489,7 @@
],
"description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#13)\" \n",
"markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L13)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14",
"id": "0afae786715bc7bc677a2525aec172999533a2bc1ee62d9b974c9f13a45755c6",
"check": "weak-prng",
"impact": "High",
@@ -651,6 +654,7 @@
],
"description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#21)\" \n",
"markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L21)\" \n",
+ "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22",
"id": "b3e0dbd29c5e74eaae470dcfe1ff523c67da580b1ae0c07559c02ee67d9d4c86",
"check": "weak-prng",
"impact": "High",
diff --git a/tests/test_detectors.py b/tests/test_detectors.py
index 93d0afaf8..7e4dc778b 100644
--- a/tests/test_detectors.py
+++ b/tests/test_detectors.py
@@ -53,7 +53,7 @@ def id_test(test_item: Test):
ALL_TESTS = [
- Test( # DO NOT move this specific test further down in this list, because for some inexplicable reason this test will then fail to report function bad2 ?!
+ Test(
all_detectors.UninitializedFunctionPtrsConstructor,
"uninitialized_function_ptr_constructor.sol",
"0.4.25",
@@ -612,6 +612,11 @@ ALL_TESTS = [
"unused_return.sol",
"0.7.6",
),
+ Test(
+ all_detectors.UncheckedTransfer,
+ "unused_return_transfers.sol",
+ "0.7.6",
+ ),
Test(
all_detectors.ShadowingAbstractDetection,
"shadowing_abstract.sol",