Mavryk_raw_protocol_001_PtAtLas.Tez_reprInternal representation of the Tez currency. Behaves mostly like a natural number where number 1 represents 1/1,000,000 Tez (1 micro-Tez or mumav). 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 mumav.
Internally encoded as int64, which may be relevant to guard against overflow errors.
t is made algebraic in order to distinguish it from the other type parameters of Script_typed_ir.ty.
type mav = tval zero : tval one_mumav : tval one_cent : tval fifty_cents : tval one : tval max_mumav : tval (-?) :
t ->
t ->
t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresultval (+?) :
t ->
t ->
t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresultval (*?) :
t ->
int64 ->
t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresultval (/?) :
t ->
int64 ->
t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresultval mul_ratio :
rounding:[ `Down | `Up ] ->
t ->
num:int64 ->
den:int64 ->
t Mavryk_protocol_environment_001_PtAtLas.Error_monad.tzresultmul_ratio ~rounding mav ~num ~den returns mav * num / den without failing when mav * num overflows. rounding controls the rounding of the division.
val mul_percentage : rounding:[ `Down | `Up ] -> t -> Int_percentage.t -> tmul_percentage mav percentage returns mav * percentage / 100. No errors can happen.
val to_mumav : t -> int64val of_mumav : int64 -> t optionof_mumav n (micro mav) is None if n is negative
val of_mumav_exn : int64 -> tof_mumav_exn n fails if n is negative. It should only be used at toplevel for constants.
val encoding : t Mavryk_protocol_environment_001_PtAtLas.Data_encoding.tval balance_update_encoding :
[ `Credited of t | `Debited of t ]
Mavryk_protocol_environment_001_PtAtLas.Data_encoding.tinclude Mavryk_protocol_environment_001_PtAtLas.Compare.S with type t := tval pp : Mavryk_protocol_environment_001_PtAtLas.Format.formatter -> t -> unitval of_string : string -> t optionval to_string : t -> string