Slither upgradeability checks helps review contracts that use the delegatecall proxy pattern using slither-check-upgradeability
tool with following options:
- became-constant: Variables that should not be constant
- function-id-collision: Functions ids collision
- function-shadowing: Functions shadowing
- missing-calls: Missing calls to init functions
- missing-init-modifier: initializer() is not called
- multiple-calls: Init functions called multiple times
- order-vars-contracts: Incorrect vars order with the v2
- order-vars-proxy: Incorrect vars order with the proxy
- variables-initialized: State variables with an initial value
- were-constant: Variables that should be constant
- extra-vars-proxy: Extra vars in the proxy
- missing-variables: Variable missing in the v2
- extra-vars-v2: Extra vars in the v2
- init-inherited: Initializable is not inherited
- init-missing: Initializable is missing
- initialize-target: Initialize function that must be called
- initializer-missing: initializer() is missing
- Delegatecall Proxy/Implementation/V2
- Variables: Missing/Extra/Order/Initialized
- Init: Missing/Multiple/Initializer
- Functions: Collision/Shadowing