V1.Secp256k1include module type of struct include Tezos_crypto.Signature.Secp256k1 endmodule Public_key = Tezos_crypto.Signature.Secp256k1.Public_keymodule Secret_key = Tezos_crypto.Signature.Secp256k1.Secret_keytype t = Tezos_crypto.Signature.Secp256k1.tval 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 generate_key :
?seed:Stdlib.Bytes.t ->
unit ->
Tezos_crypto.Signature.Secp256k1.Public_key_hash.t
* Public_key.t
* Secret_key.tval 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.
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 sign_keccak256 : Secret_key.t -> bytes -> tSigns the Keccak256 hash of bytes, instead of BLAKE2b.
val check_keccak256 : Public_key.t -> t -> bytes -> boolCheck the Keccak256 hash of bytes, instead of BLAKE2b.
recover_caller signature msg recovers the caller of signature signature on message msg. The "caller" in this context is the rightmost 160-bits of the Keccak-256 hash of the corresponding ECDSA public key.
val eth_address_of_public_key : Public_key.t -> byteseth_address_of_public_key pk computes the Ethereum address of an Externally Owned Account (EOA) using this public key.
module Public_key_hash : sig ... end