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 : DateTime


The built-in abstract type ContractId represents a contract’s id. 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 template or as an argument to a report.

getEvents : ContractId -> List Event

The special function getEvents retrieves the list of events pertaining to the contract with the given id. Older events precede newer events in the list.