The Casper VM executes a smart contract by calling the call function specified in the contract. If the function is missing, the smart contract is not valid. CasperLabs maintains the casper-contract to allow developers to create smart contracts using AssemblyScript. The package source is hosted in the main Casper Network repository.