5 smart contract vulnerabilities: How to identify and mitigate them