package octez-libs

  1. Overview
  2. Docs
include SIGNATURE
include COMMON_SIGNATURE
module Public_key_hash : sig ... end
module Public_key : sig ... end
module Secret_key : sig ... end
type t
val pp : Format.formatter -> t -> unit
include Tezos_stdlib.Compare.S with type t := t
val (=) : t -> t -> bool

x = y iff compare x y = 0

val (<>) : t -> t -> bool

x <> y iff compare x y <> 0

val (<) : t -> t -> bool

x < y iff compare x y < 0

val (<=) : t -> t -> bool

x <= y iff compare x y <= 0

val (>=) : t -> t -> bool

x >= y iff compare x y >= 0

val (>) : t -> t -> bool

x > y iff compare x y > 0

val compare : t -> t -> int

compare an alias for the functor parameter's compare function

val equal : t -> t -> bool

equal x y iff compare x y = 0

val max : t -> t -> t

max x y is x if x >= y otherwise it is y

val min : t -> t -> t

min x y is x if x <= y otherwise it is y

include B58_DATA with type t := t
val to_b58check : t -> string
val to_short_b58check : t -> string
val of_b58check : string -> t Tezos_error_monad.Error_monad.tzresult
val of_b58check_exn : string -> t
val of_b58check_opt : string -> t option
type Base58.data +=
  1. | Data of t
val b58check_encoding : t Base58.encoding
include ENCODER with type t := t
val encoding : t Data_encoding.t
val rpc_arg : t Tezos_rpc.Arg.t
val zero : t
type watermark
val sign : ?watermark:watermark -> Secret_key.t -> Bytes.t -> t

sign ?watermark sk message produce the signature of message (with possibly watermark) using sk.

val check : ?watermark:watermark -> Public_key.t -> t -> Bytes.t -> bool

check pk ?watermark signature message check that signature is the signature produced by signing message (with possibly watermark) with the secret key of pk.

val generate_key : ?seed:Bytes.t -> unit -> Public_key_hash.t * Public_key.t * Secret_key.t
val deterministic_nonce : Secret_key.t -> Bytes.t -> Bytes.t

deterministic_nonce sk msg returns a nonce that is determined by sk and msg

val deterministic_nonce_hash : Secret_key.t -> Bytes.t -> Bytes.t

deterministic_nonce_hash sk msg returns the BLAKE2b hash of a nonce that is determined by sk and msg.

In other words, Blake2b.digest (deterministic_nonce sk msg) = deterministic_nonce_hash sk msg

type prefix

A signature prefix potentially carries data.

type splitted = {
  1. prefix : prefix option;
  2. suffix : Bytes.t;
}

A splitted signature is a binary representation of a signature with a fixed 64 bytes suffix and a possible prefix.

val split_signature : t -> splitted

split_signature s splits the signature s into {prefix; suffix} where suffix is the fixed 64 bytes suffix of s and prefix are the remaining preceding bytes if any.

val of_splitted : splitted -> t option

of_splitted s reconstructs a signature from a splitted one, if possible.

val prefix_encoding : prefix Data_encoding.t

Encoding for signature prefixes.

OCaml

Innovation. Community. Security.