The structure of a smart contract