Poor smart contract coding exposes millions of dollars in Ethereum