package octez-libs

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

Module Signature.V1Source

V1 supports Ed25519, Secp256k1, P256, and BLS.

V1 supports Ed25519, Secp256k1, P256, and BLS.

Sourcetype public_key_hash =
  1. | Ed25519 of Tezos_crypto__.Ed25519.Public_key_hash.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.Public_key_hash.t
  3. | P256 of Tezos_crypto__.P256.Public_key_hash.t
  4. | Bls of Tezos_crypto__.Bls.Public_key_hash.t
Sourcetype public_key =
  1. | Ed25519 of Tezos_crypto__.Ed25519.Public_key.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.Public_key.t
  3. | P256 of Tezos_crypto__.P256.Public_key.t
  4. | Bls of Bls12_381_signature.MinPk.pk
Sourcetype secret_key =
  1. | Ed25519 of Tezos_crypto__.Ed25519.Secret_key.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.Secret_key.t
  3. | P256 of Tezos_crypto__.P256.Secret_key.t
  4. | Bls of Bls12_381_signature.sk
Sourcetype watermark =
  1. | Block_header of Tezos_crypto__.Chain_id.t
  2. | Endorsement of Tezos_crypto__.Chain_id.t
  3. | Generic_operation
  4. | Custom of Bytes.t
Sourceval bytes_of_watermark : watermark -> Bytes.t
Sourceval pp_watermark : Format.formatter -> watermark -> unit
Sourcetype signature =
  1. | Ed25519 of Tezos_crypto__.Ed25519.t
  2. | Secp256k1 of Tezos_crypto__.Secp256k1.t
  3. | P256 of Tezos_crypto__.P256.t
  4. | Bls of Bls12_381_signature.MinPk.signature
  5. | Unknown of Bytes.t
Sourcetype prefix =
  1. | Bls_prefix of Bytes.t

A signature prefix holds data only for signature that are more than 64 bytes long.

Sourcemodule Public_key_hash : sig ... end
Sourcemodule Public_key : sig ... end
Sourcemodule Secret_key : sig ... end
Sourceval pp : Format.formatter -> t -> unit
include Tezos_stdlib.Compare.S with type t := t
Sourceval (=) : t -> t -> bool

x = y iff compare x y = 0

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

x <> y iff compare x y <> 0

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

x < y iff compare x y < 0

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

x <= y iff compare x y <= 0

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

x >= y iff compare x y >= 0

Sourceval (>) : t -> t -> bool

x > y iff compare x y > 0

Sourceval compare : t -> t -> int

compare an alias for the functor parameter's compare function

Sourceval equal : t -> t -> bool

equal x y iff compare x y = 0

Sourceval max : t -> t -> t

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

Sourceval min : t -> t -> t

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

Sourceval to_b58check : t -> string
Sourceval to_short_b58check : t -> string
Sourceval of_b58check_exn : string -> t
Sourceval of_b58check_opt : string -> t option
Sourcetype Base58.data +=
  1. | Data of t
Sourceval b58check_encoding : t Base58.encoding
Sourceval encoding : t Data_encoding.t
Sourceval rpc_arg : t Tezos_rpc.Arg.t
Sourceval zero : t
Sourceval sign : ?watermark:watermark -> Secret_key.t -> Bytes.t -> t

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

Sourceval 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.

Sourceval deterministic_nonce : Secret_key.t -> Bytes.t -> Bytes.t

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

Sourceval 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

Sourcetype 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.

Sourceval 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.

Sourceval of_splitted : splitted -> t option

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

Sourceval prefix_encoding : prefix Data_encoding.t

Encoding for signature prefixes.

Sourceval append : ?watermark:watermark -> secret_key -> Bytes.t -> Bytes.t

append sk buf is the concatenation of buf and the serialization of the signature of buf signed by sk.

Sourceval concat : Bytes.t -> t -> Bytes.t

concat buf t is the concatenation of buf and the serialization of t.

Sourceval to_hex : t -> Tezos_stdlib.Hex.t
Sourceval of_hex_opt : Tezos_stdlib.Hex.t -> t option
Sourceval of_hex_exn : Tezos_stdlib.Hex.t -> t
Sourceval to_string : t -> string
Sourceval of_string_opt : string -> t option
Sourceval of_string_exn : string -> t
Sourceval to_bytes : t -> Bytes.t
Sourceval of_bytes_opt : Bytes.t -> t option
Sourceval of_bytes_exn : Bytes.t -> t
Sourceval size : t -> int

The size of the signature in bytes. Can be 64 for Ed25519, Secp256k1 and P256 signatures or 96 for BLS signatures.

Sourceval of_secp256k1 : Tezos_crypto__.Secp256k1.t -> t

of_secp256k1 s returns a wrapped version of the Secp256k1 signature s in t.

Sourceval of_ed25519 : Tezos_crypto__.Ed25519.t -> t

of_ed25519 s returns a wrapped version of the Ed25519 signature s in t.

Sourceval of_p256 : Tezos_crypto__.P256.t -> t

of_p256 s returns a wrapped version of the P256 signature s in t.

of_bls s returns a wrapped version of the BLS signature s in t.

Sourcetype algo =
  1. | Ed25519
  2. | Secp256k1
  3. | P256
  4. | Bls

The type of signing algorithms.

Sourceval algos : algo list

The list of signing algorithm supported, i.e. all constructors of type algo.

Sourceval generate_key : ?algo:algo -> ?seed:Bytes.t -> unit -> public_key_hash * public_key * secret_key

generate_key ~algo ~seed () generates a key pair for the signing algorithm algo from the random seed seed.

Sourcemodule Of_V0 : sig ... end

This module provides conversion functions for values (of keys and signatures) of the module Signature_V0. Note that these functions are total because Signature_v1 supports more signature kinds than Signature_v0.

Sourcemodule Of_V_latest : Signature.CONV_OPT with module V_from := Signature.V_latest and module V_to := Tezos_crypto__.Signature_v1

Converting from signatures of V_latest to V1.

OCaml

Innovation. Community. Security.