Documentation
Docs39. `quorlinc`

39. quorlinc

quorlinc is the official compiler for the Quorlin smart contract language. It translates .ql source files into capability-secure .kvm modules.

39.1 Compiling Contracts

  • Command: quorlinc Contract.ql -o build/
  • Description: Compiles the contract. The compiler strictly enforces the separation of reads and writes effects. If a reads function attempts to mutate state, the compilation halts with an error.

39.2 Output Files

For every .ql file, quorlinc generates two outputs:

  1. Contract.kvm: The raw, 4-byte prefixed binary module to be deployed.
  2. Contract.abi.json: A standard Ethereum-compatible ABI file. This allows libraries like ethers.js or viem to interact with KVM contracts exactly as if they were Solidity contracts.

39.3 Compiler Flags & Options

  • --version: Prints the compiler version.
  • --optimize or -O: Runs the intermediate representation through a dead-code elimination pass.
  • --dump-ir: Outputs the human-readable intermediate representation of the KVM instructions for manual auditing or formal verification tools.
  • --strict: Treats all warnings (such as unused variables) as fatal errors.

Part X — Cryptography

Kortana enforces cryptographic agility across its architecture, defining a robust suite of primitives for hashing, signatures, and secure networking. All cryptographic operations are implemented behind strict C++ abstraction interfaces (IHasher, ISigner, IBLSAggregator) ensuring that the underlying library implementations (such as OpenSSL or libsodium) can be swapped or upgraded without disrupting the core protocol.