slither.detectors.all_detectors

  1# pylint: disable=unused-import,relative-beyond-top-level
  2from .examples.backdoor import Backdoor
  3from .variables.uninitialized_state_variables import UninitializedStateVarsDetection
  4from .variables.uninitialized_storage_variables import UninitializedStorageVars
  5from .variables.uninitialized_local_variables import UninitializedLocalVars
  6from .variables.var_read_using_this import VarReadUsingThis
  7from .attributes.constant_pragma import ConstantPragma
  8from .attributes.incorrect_solc import IncorrectSolc
  9from .attributes.locked_ether import LockedEther
 10from .functions.arbitrary_send_eth import ArbitrarySendEth
 11from .erc.erc20.arbitrary_send_erc20_no_permit import ArbitrarySendErc20NoPermit
 12from .erc.erc20.arbitrary_send_erc20_permit import ArbitrarySendErc20Permit
 13from .functions.suicidal import Suicidal
 14
 15# from .functions.complex_function import ComplexFunction
 16from .reentrancy.reentrancy_benign import ReentrancyBenign
 17from .reentrancy.reentrancy_read_before_write import ReentrancyReadBeforeWritten
 18from .reentrancy.reentrancy_eth import ReentrancyEth
 19from .reentrancy.reentrancy_no_gas import ReentrancyNoGas
 20from .reentrancy.reentrancy_events import ReentrancyEvent
 21from .variables.unused_state_variables import UnusedStateVars
 22from .variables.could_be_constant import CouldBeConstant
 23from .variables.could_be_immutable import CouldBeImmutable
 24from .statements.tx_origin import TxOrigin
 25from .statements.assembly import Assembly
 26from .operations.low_level_calls import LowLevelCalls
 27from .operations.unused_return_values import UnusedReturnValues
 28from .operations.unchecked_transfer import UncheckedTransfer
 29from .naming_convention.naming_convention import NamingConvention
 30from .functions.external_function import ExternalFunction
 31from .statements.controlled_delegatecall import ControlledDelegateCall
 32from .attributes.const_functions_asm import ConstantFunctionsAsm
 33from .attributes.const_functions_state import ConstantFunctionsState
 34from .shadowing.abstract import ShadowingAbstractDetection
 35from .shadowing.state import StateShadowing
 36from .shadowing.local import LocalShadowing
 37from .shadowing.builtin_symbols import BuiltinSymbolShadowing
 38from .operations.block_timestamp import Timestamp
 39from .statements.calls_in_loop import MultipleCallsInLoop
 40from .statements.incorrect_strict_equality import IncorrectStrictEquality
 41from .erc.erc20.incorrect_erc20_interface import IncorrectERC20InterfaceDetection
 42from .erc.incorrect_erc721_interface import IncorrectERC721InterfaceDetection
 43from .erc.unindexed_event_parameters import UnindexedERC20EventParameters
 44from .statements.deprecated_calls import DeprecatedStandards
 45from .source.rtlo import RightToLeftOverride
 46from .statements.too_many_digits import TooManyDigits
 47from .operations.unchecked_low_level_return_values import UncheckedLowLevel
 48from .operations.unchecked_send_return_value import UncheckedSend
 49from .operations.void_constructor import VoidConstructor
 50from .statements.type_based_tautology import TypeBasedTautology
 51from .statements.boolean_constant_equality import BooleanEquality
 52from .statements.boolean_constant_misuse import BooleanConstantMisuse
 53from .statements.divide_before_multiply import DivideBeforeMultiply
 54from .statements.unprotected_upgradeable import UnprotectedUpgradeable
 55from .slither.name_reused import NameReused
 56
 57from .functions.unimplemented import UnimplementedFunctionDetection
 58from .statements.mapping_deletion import MappingDeletionDetection
 59from .statements.array_length_assignment import ArrayLengthAssignment
 60from .variables.similar_variables import SimilarVarsDetection
 61from .variables.function_init_state_variables import FunctionInitializedState
 62from .statements.redundant_statements import RedundantStatements
 63from .operations.bad_prng import BadPRNG
 64from .statements.costly_operations_in_loop import CostlyOperationsInLoop
 65from .statements.assert_state_change import AssertStateChange
 66from .attributes.unimplemented_interface import MissingInheritance
 67from .assembly.shift_parameter_mixup import ShiftParameterMixup
 68from .compiler_bugs.storage_signed_integer_array import StorageSignedIntegerArray
 69from .compiler_bugs.uninitialized_function_ptr_in_constructor import (
 70    UninitializedFunctionPtrsConstructor,
 71)
 72from .compiler_bugs.storage_ABIEncoderV2_array import ABIEncoderV2Array
 73from .compiler_bugs.array_by_reference import ArrayByReference
 74from .compiler_bugs.enum_conversion import EnumConversion
 75from .compiler_bugs.multiple_constructor_schemes import MultipleConstructorSchemes
 76from .compiler_bugs.public_mapping_nested import PublicMappingNested
 77from .compiler_bugs.reused_base_constructor import ReusedBaseConstructor
 78from .operations.missing_events_access_control import MissingEventsAccessControl
 79from .operations.missing_events_arithmetic import MissingEventsArithmetic
 80from .functions.modifier import ModifierDefaultDetection
 81from .variables.predeclaration_usage_local import PredeclarationUsageLocal
 82from .statements.unary import IncorrectUnaryExpressionDetection
 83from .operations.missing_zero_address_validation import MissingZeroAddressValidation
 84from .functions.dead_code import DeadCode
 85from .statements.write_after_write import WriteAfterWrite
 86from .statements.msg_value_in_loop import MsgValueInLoop
 87from .statements.delegatecall_in_loop import DelegatecallInLoop
 88from .functions.protected_variable import ProtectedVariables
 89from .functions.permit_domain_signature_collision import DomainSeparatorCollision
 90from .functions.codex import Codex
 91from .functions.cyclomatic_complexity import CyclomaticComplexity
 92from .operations.cache_array_length import CacheArrayLength
 93from .statements.incorrect_using_for import IncorrectUsingFor
 94from .operations.encode_packed import EncodePackedCollision
 95from .assembly.incorrect_return import IncorrectReturn
 96from .assembly.return_instead_of_leave import ReturnInsteadOfLeave
 97from .operations.incorrect_exp import IncorrectOperatorExponentiation
 98from .statements.tautological_compare import TautologicalCompare
 99from .statements.return_bomb import ReturnBomb
100from .functions.out_of_order_retryable import OutOfOrderRetryable
101from .statements.unused_import import UnusedImport