package tezos-protocol-alpha

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t

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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

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_alpha__Environment.Error_monad.error Tezos_protocol_environment_alpha__Environment.Error_monad.trace) Stdlib.result

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 mul_exn : t -> int -> t

It should only be used at toplevel for constants.

val encoding : t Data_encoding.t
val to_int64 : t -> int64
val (=) : t -> t -> bool
val (<>) : t -> t -> bool
val (<) : t -> t -> bool
val (<=) : t -> t -> bool
val (>=) : t -> t -> bool
val (>) : t -> t -> bool
val compare : t -> t -> int
val equal : t -> t -> bool
val max : t -> t -> t
val min : t -> t -> t
val pp : Stdlib.Format.formatter -> t -> unit
val of_string : string -> t option
val to_string : t -> string
OCaml

Innovation. Community. Security.