package octez-proto-libs

  1. Overview
  2. Docs
Octez protocol libraries

Install

Dune Dependency

Authors

Maintainers

Sources

octez-19.1.tar.gz
sha256=55ea1fb8bb3273a7fc270ca8f650d45c56449665619482aad9bc12f3ea736b7e
sha512=fec850fc2d17d7490bbabd5147d62aad13b3aaed8774270f8a38ab419670ed03e0fd30cf8642a97984eca5c2446726fe590ad99c015f7ec50919dc7652f25053

doc/octez-proto-libs.protocol-environment/Tezos_protocol_environment/V1/Make/Bls12_381/Fr/index.html

Module Bls12_381.Fr

include S.FIELD
type t
val order : Z.t

The order of the finite field

val size_in_bytes : int

minimal number of bytes required to encode a value of the field.

val check_bytes : Bytes.t -> bool

check_bytes bs returns true if bs is a correct byte representation of a field element

val zero : t

The neutral element for the addition

val one : t

The neutral element for the multiplication

val add : t -> t -> t

add a b returns a + b mod order

val mul : t -> t -> t

mul a b returns a * b mod order

val eq : t -> t -> bool

eq a b returns true if a = b mod order, else false

val negate : t -> t

negate x returns -x mod order. Equivalently, negate x returns the unique y such that x + y mod order = 0

val inverse_opt : t -> t option

inverse_opt x returns x^-1 if x is not 0 as an option, else None

val pow : t -> Z.t -> t

pow x n returns x^n

val of_bytes_opt : Bytes.t -> t option

From a predefined bytes representation, construct a value t. It is not required that to_bytes (Option.get (of_bytes_opt t)) = t. By default, little endian encoding is used and the given element is modulo the prime order

val to_bytes : t -> Bytes.t

Convert the value t to a bytes representation which can be used for hashing for instance. It is not required that to_bytes (Option.get (of_bytes_opt t)) = t. By default, little endian encoding is used, and length of the resulting bytes may vary depending on the order.

val of_z : Z.t -> t

of_z x builds an element t from the Zarith element x. mod order is applied if x >= order or x < 0.

val to_z : t -> Z.t

to_z x builds a Zarith element, using the decimal representation. Arithmetic on the result can be done using the modular functions on integers

OCaml

Innovation. Community. Security.