package tezos-protocol-011-PtHangz2
Internal representation of the Tez currency. Behaves mostly like a natural number where number 1 represents 1/1,000,000 Tez (1 micro-Tez or mutez). It's protected from ever becoming negative and overflowing by special arithmetic functions, which fail in case something undesired would happen. When divided, it's always rounded down to 1 mutez.
Internally encoded as int64
, which may be relevant to guard against overflow errors.
type tez = t
val zero : t
val one_mutez : t
val one_cent : t
val fifty_cents : t
val one : t
val (-?) :
t ->
t ->
t Tezos_protocol_environment_011_PtHangz2.Error_monad.tzresult
Tez subtraction.
a -? b
is the difference between a
and b
given that b
is greater or equal to a
. Otherwise an error (Subtraction underflow
) is returned.
val (+?) :
t ->
t ->
t Tezos_protocol_environment_011_PtHangz2.Error_monad.tzresult
Tez addition.
a +? b
is the sum of a
and b
or an Addition overflow
error in case of overflow.
val (*?) :
t ->
int64 ->
t Tezos_protocol_environment_011_PtHangz2.Error_monad.tzresult
Tez multiplication by an integral factor.
a *? m
is a
multiplied by m
(which must be non-negative) or a Multiplication_overflow
error.
val (/?) :
t ->
int64 ->
t Tezos_protocol_environment_011_PtHangz2.Error_monad.tzresult
Tez division by an integral divisor.
a /? d
is a
divided by d
(which must be positive). Given that d
is positive, this function is safe. The result is rounded down to 1 mutez.
val to_mutez : t -> int64
val of_mutez : int64 -> t option
of_mutez n
(micro tez) is None if n is negative
val of_mutez_exn : int64 -> t
of_mutez_exn n
fails if n is negative. It should only be used at toplevel for constants.
val encoding : t Tezos_protocol_environment_011_PtHangz2.Data_encoding.t
val to_int64 : t -> int64
include Tezos_protocol_environment_011_PtHangz2.Compare.S with type t := t
val pp : Tezos_protocol_environment_011_PtHangz2.Format.formatter -> t -> unit
val of_string : string -> t option
val to_string : t -> string