Role of code in a smart contract