package tezos-protocol-alpha

  1. Overview
  2. Docs
Tezos protocol alpha package

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-octez-v20.1.tag.bz2
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65

doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Tez_repr/index.html

Module Tezos_raw_protocol_alpha.Tez_reprSource

Sourcetype repr

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.

Sourcetype t =
  1. | Tez_tag of repr

t is made algebraic in order to distinguish it from the other type parameters of Script_typed_ir.ty.

Sourcetype Tezos_protocol_environment_alpha.Error_monad.error +=
  1. | Addition_overflow of t * t
  2. | Subtraction_underflow of t * t
  3. | Multiplication_overflow of t * Tezos_protocol_environment_alpha.Z.t
  4. | Negative_multiplicator of t * Tezos_protocol_environment_alpha.Z.t
  5. | Invalid_divisor of t * Tezos_protocol_environment_alpha.Z.t
Sourceval zero : t
Sourceval one_mutez : t
Sourceval one_cent : t
Sourceval fifty_cents : t
Sourceval one : t
Sourceval max_mutez : t
Sourceval sub_opt : t -> t -> t option

Same as ( -? ) but returns None instead of an error.

Sourceval div2 : t -> t
Sourceval mul_ratio : rounding:[ `Down | `Up ] -> t -> num:int64 -> den:int64 -> t Tezos_protocol_environment_alpha.Error_monad.tzresult

mul_ratio ~rounding tez ~num ~den returns tez * num / den without failing when tez * num overflows. rounding controls the rounding of the division.

mul_ratio_z is the same as mul_ratio, but takes Z.t as arguments

mul_q is the same as mul_ratio_z, but takes a Q.t as an argument

Sourceval mul_percentage : rounding:[ `Down | `Up ] -> t -> Percentage.t -> t

mul_percentage tez percentage returns tez * percentage / 100. No errors can happen.

Sourceval to_mutez : t -> int64
Sourceval of_mutez : int64 -> t option

of_mutez n (micro tez) is None if n is negative

Sourceval of_mutez_exn : int64 -> t

of_mutez_exn n fails if n is negative. It should only be used at toplevel for constants.

Sourceval mul_exn : t -> int -> t

It should only be used at toplevel for constants.

Sourceval div_exn : t -> int -> t

It should only be used at toplevel for constants.

Sourceval balance_update_encoding : [ `Credited of t | `Debited of t ] Tezos_protocol_environment_alpha.Data_encoding.t
include Tezos_protocol_environment_alpha.Compare.S with type t := t
Sourceval (=) : t -> t -> bool
Sourceval (<>) : t -> t -> bool
Sourceval (<) : t -> t -> bool
Sourceval (<=) : t -> t -> bool
Sourceval (>=) : t -> t -> bool
Sourceval (>) : t -> t -> bool
Sourceval compare : t -> t -> int
Sourceval equal : t -> t -> bool
Sourceval max : t -> t -> t
Sourceval min : t -> t -> t
Sourceval of_string : string -> t option
Sourceval to_string : t -> string
OCaml

Innovation. Community. Security.