Smart contracts

Following recent practice, smart contracts in QAN are WebAssembly binaries because WASM is open, blazing-fast, primitive enough so determinism can be checked and browser-friendly.

Following ethereum's model, smart contracts are only capable of interacting with the external world trough transactions and don't have access to I/O and network calls that could cause nondeterminism. Any assumption in a contracts (or the execution engine's itself) threat model that rely on external data (like QARK/USD prices) are done trough oracles.