package tezos-protocol-alpha
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/tezos_raw_protocol_alpha/Tezos_raw_protocol_alpha/Tez_repr/index.html
Module Tezos_raw_protocol_alpha.Tez_reprSource
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.
t is made algebraic in order to distinguish it from the other type parameters of Script_typed_ir.ty.
type Tezos_protocol_environment_alpha.Error_monad.error += | Addition_overflow of t * t| Subtraction_underflow of t * t| Multiplication_overflow of t * Tezos_protocol_environment_alpha.Z.t| Negative_multiplicator of t * Tezos_protocol_environment_alpha.Z.t| Invalid_divisor of t * Tezos_protocol_environment_alpha.Z.t
val mul_ratio :
rounding:[ `Down | `Up ] ->
t ->
num:int64 ->
den:int64 ->
t Tezos_protocol_environment_alpha.Error_monad.tzresultmul_ratio ~rounding tez ~num ~den returns tez * num / den without failing when tez * num overflows. rounding controls the rounding of the division.
val mul_ratio_z :
rounding:[ `Down | `Up ] ->
t ->
num:Tezos_protocol_environment_alpha.Z.t ->
den:Tezos_protocol_environment_alpha.Z.t ->
t Tezos_protocol_environment_alpha.Error_monad.tzresultmul_ratio_z is the same as mul_ratio, but takes Z.t as arguments
val mul_q :
rounding:[ `Down | `Up ] ->
t ->
Tezos_protocol_environment_alpha.Q.t ->
t Tezos_protocol_environment_alpha.Error_monad.tzresultmul_q is the same as mul_ratio_z, but takes a Q.t as an argument
mul_percentage tez percentage returns tez * percentage / 100. No errors can happen.
of_mutez_exn n fails if n is negative. It should only be used at toplevel for constants.
val balance_update_encoding :
[ `Credited of t | `Debited of t ]
Tezos_protocol_environment_alpha.Data_encoding.t