Essential steps for Successful smart contract audit