1. Unit tests passing, checking tests configuration (matching the configuration of main network);
2. Compilator warnings;
3. Race Conditions. Reentrancy. Cross-function Race Conditions. Pitfalls in Race Condition solutions;
4. Possible delays in data delivery;
5. Transaction-Ordering Dependence (front running);
6. Timestamp Dependence;
7. Integer Overflow and Underflow;
8. DoS with (unexpected) Revert;
9. DoS with Block Gas Limit;
10. Call Depth Attack. Not relevant in modern ethereum network
11. Methods execution permissions;
12. Oracles calls;
13. Economy model. It’s important to forecast scenarios when a user is provided with additional economic motivation or faced with limitations. If application logic is based on incorrect economy model, the application will not function correctly and participants will incur financial losses. This type of issue is most often found in bonus rewards systems.
14. The impact of the exchange rate on the logic;
15. Private user data leaks.