A Minimal Core Calculus for Solidity Contracts