Static analysis approaches for finding vulnerabilities in smart contracts