Tezos_dal_alpha.Signaturemodule Bls = Tezos_crypto.Signature.Blsmodule Ed25519 = Tezos_crypto.Signature.Ed25519module P256 = Tezos_crypto.Signature.P256module Secp256k1 = Tezos_crypto.Signature.Secp256k1include module type of struct include Tezos_crypto.Signature.V2 endval version : Tezos_crypto.Signature.versiontype public_key_hash = Tezos_crypto.Signature.V2.public_key_hash = type public_key = Tezos_crypto.Signature.V2.public_key = | Ed25519 of Tezos_crypto__.Ed25519.Public_key.t| Secp256k1 of Tezos_crypto__.Secp256k1.Public_key.t| P256 of Tezos_crypto__.P256.Public_key.t| Bls of Bls12_381_signature.MinPk.pktype secret_key = Tezos_crypto.Signature.V2.secret_key = | Ed25519 of Tezos_crypto__.Ed25519.Secret_key.t| Secp256k1 of Tezos_crypto__.Secp256k1.Secret_key.t| P256 of Tezos_crypto__.P256.Secret_key.t| Bls of Bls12_381_signature.skval bytes_of_watermark : watermark -> Stdlib.Bytes.tval pp_watermark : Stdlib.Format.formatter -> watermark -> unittype signature = Tezos_crypto.Signature.V2.signature = | Ed25519 of Tezos_crypto__.Ed25519.t| Secp256k1 of Tezos_crypto__.Secp256k1.t| P256 of Tezos_crypto__.P256.t| Bls of Bls12_381_signature.MinPk.signature| Unknown of Stdlib.Bytes.tA signature prefix holds data only for signature that are more than 64 bytes long.
module Public_key = Tezos_crypto.Signature.V2.Public_keymodule Secret_key = Tezos_crypto.Signature.V2.Secret_keytype t = signatureval pp : Stdlib.Format.formatter -> t -> unitinclude Tezos_stdlib.Compare.S with type t := tval to_b58check : t -> stringval to_short_b58check : t -> stringval of_b58check : string -> t Tezos_error_monad.Error_monad.tzresultval of_b58check_exn : string -> tval of_b58check_opt : string -> t optionval b58check_encoding : t Tezos_crypto.Base58.encodingval encoding : t Data_encoding.tval rpc_arg : t Tezos_rpc.Arg.tval zero : tval sign : ?watermark:watermark -> Secret_key.t -> Stdlib.Bytes.t -> tsign ?watermark sk message produce the signature of message (with possibly watermark) using sk.
val check : ?watermark:watermark -> Public_key.t -> t -> Stdlib.Bytes.t -> boolcheck pk ?watermark signature message check that signature is the signature produced by signing message (with possibly watermark) with the secret key of pk.
val deterministic_nonce : Secret_key.t -> Stdlib.Bytes.t -> Stdlib.Bytes.tdeterministic_nonce sk msg returns a nonce that is determined by sk and msg
val deterministic_nonce_hash : Secret_key.t -> Stdlib.Bytes.t -> Stdlib.Bytes.tdeterministic_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
val pop_verify :
Public_key.t ->
?msg:Bls12_381_signature.MinPk.pk ->
Stdlib.Bytes.t ->
boolpop_verify pk proof checks if proof is a valid proof of possesssion for pk (or msg is provided). If pk is not a BLS key, pop_verify pk _ = false.
type splitted = Tezos_crypto.Signature.V2.splitted = {prefix : prefix option;suffix : Stdlib.Bytes.t;}A splitted signature is a binary representation of a signature with a fixed 64 bytes suffix and a possible prefix.
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.
of_splitted s reconstructs a signature from a splitted one, if possible.
val prefix_encoding : prefix Data_encoding.tEncoding for signature prefixes.
module Public_key_hash = Tezos_crypto.Signature.V2.Public_key_hashval append :
?watermark:watermark ->
secret_key ->
Stdlib.Bytes.t ->
Stdlib.Bytes.tappend sk buf is the concatenation of buf and the serialization of the signature of buf signed by sk.
val concat : Stdlib.Bytes.t -> t -> Stdlib.Bytes.tconcat buf t is the concatenation of buf and the serialization of t.
val to_hex : t -> Tezos_stdlib.Hex.tval of_hex : Tezos_stdlib.Hex.t -> t Tezos_error_monad.Error_monad.tzresultval of_hex_opt : Tezos_stdlib.Hex.t -> t optionval of_hex_exn : Tezos_stdlib.Hex.t -> tval to_string : t -> stringval of_string : string -> t Tezos_error_monad.Error_monad.tzresultval of_string_opt : string -> t optionval of_string_exn : string -> tval to_bytes : t -> Stdlib.Bytes.tval of_bytes : Stdlib.Bytes.t -> t Tezos_error_monad.Error_monad.tzresultval of_bytes_opt : Stdlib.Bytes.t -> t optionval of_bytes_exn : Stdlib.Bytes.t -> tval size : t -> intThe size of the signature in bytes. Can be 64 for Ed25519, Secp256k1 and P256 signatures or 96 for BLS signatures.
val of_secp256k1 : Tezos_crypto__.Secp256k1.t -> tof_secp256k1 s returns a wrapped version of the Secp256k1 signature s in t.
val of_ed25519 : Tezos_crypto__.Ed25519.t -> tof_ed25519 s returns a wrapped version of the Ed25519 signature s in t.
val of_p256 : Tezos_crypto__.P256.t -> tof_p256 s returns a wrapped version of the P256 signature s in t.
val of_bls : Bls12_381_signature.MinPk.signature -> tof_bls s returns a wrapped version of the BLS signature s in t.
The type of signing algorithms.
val generate_key :
?algo:algo ->
?seed:Stdlib.Bytes.t ->
unit ->
public_key_hash * public_key * secret_keygenerate_key ~algo ~seed () generates a key pair for the signing algorithm algo from the random seed seed.
module Of_V0 = Tezos_crypto.Signature.V2.Of_V0This 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.
module Of_V1 = Tezos_crypto.Signature.V2.Of_V1This module provides conversion functions for values (of keys and signatures) of the module Signature_V1. Note that these functions are total because Signature_v1 supports more signature kinds than Signature_v0.
module Of_V_latest = Tezos_crypto.Signature.V2.Of_V_latestConverting from signatures of V_latest to V2.