Skip to content

Commit d9f8899

Browse files
committed
Relax detection of initialization functions
1 parent f5f456e commit d9f8899

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

slither/tools/upgradeability/checks/initialization.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
22

3+
from slither.core.declarations import Function
34
from slither.slithir.operations import InternalCall
45
from slither.tools.upgradeability.checks.abstract_checks import (
56
AbstractCheck,
@@ -13,9 +14,14 @@
1314
class MultipleInitTarget(Exception):
1415
pass
1516

17+
def _has_initiliaze_modifier(function: Function):
18+
if not function.modifiers:
19+
return False
20+
return any((m.name == "initializer") for m in function.modifiers)
21+
1622

1723
def _get_initialize_functions(contract):
18-
return [f for f in contract.functions if f.name == "initialize" and f.is_implemented]
24+
return [f for f in contract.functions if (f.name == "initialize" or _has_initiliaze_modifier(f)) and f.is_implemented]
1925

2026

2127
def _get_all_internal_calls(function):

0 commit comments

Comments
 (0)