The Event type represents events that can be applied to contracts. The Event type is built-in. The definition is given below.

type Event {
  agent : Agent,
  timestamp : Instant


The built-in abstract type ContractInstance represents a reference to an instantiated contract. Values of this type cannot be constructed directly in CSL syntax, so whenever such a value is needed it must be supplied to the runtime system directly – either as an instantiation argument to a contract or as an argument to a report.