Portable way to get the time on a DAML-ledger, especially on DABL

What is the preferred way to put current time on contracts? Most importantly on DABL, right now. But also in general, in some portable way.

getTime is not supported on DABL.

The application could input time to the ledger, but than the DAML model could not prevent anyone to falsify time.

We used an automation to periodically update some CurrentTime contracts on the ledger in the Market Data Ref App, but this is a bit heavyweight and should be ported to DAZL from Java in order to use it.


I think you have listed all the ways:

  1. Client submitted time (means you have to trust all clients)
  2. A time oracle (a bit heavyweight)
  3. Ledger Time (Not supported in DABL yet)

DABL should start supporting it soon, I think. Maybe @dtanabe can give a timeline?