Module Mavryk_raw_protocol_alpha.Script_timestamp

Defines the internal Michelson representation for timestamps and basic operations that can be performed on it.

type repr
type t =
  1. | Timestamp_tag of repr

Representation of timestamps specific to the Michelson interpreter. A number of seconds since the epoch. t is made algebraic in order to distinguish it from the other type parameters of Script_typed_ir.ty.

val of_int64 : int64 -> t

Convert a number of seconds since the epoch to a timestamp.

val compare : t -> t -> int

Compare timestamps. Returns 1 if the first timestamp is later than the second one; 0 if they're equal and -1 othwerwise.

val to_notation : t -> string option

Convert a timestamp to RFC3339 notation if possible *

val to_num_str : t -> string

Convert a timestamp to a string representation of the seconds

val to_string : t -> string

Convert to RFC3339 notation if possible, or num if not

val of_string : string -> t option
val diff : t -> t -> Script_int.z Script_int.num

Returns difference between timestamps as integral number of seconds in Michelson representation of numbers.

val add_delta : t -> Script_int.z Script_int.num -> t

Add a number of seconds to the timestamp.

val sub_delta : t -> Script_int.z Script_int.num -> t

Subtract a number of seconds from the timestamp.

val now : Alpha_context.t -> t