Revisiting smart contract vulnerabilities in Hyperledger Fabric