Https.Make
module P : sig ... end
include Mavryk_client_base.Client_keys.COMMON_SIGNER
with type public_key_hash = Mavryk_crypto.Signature.Public_key_hash.t
and type public_key = Mavryk_crypto.Signature.Public_key.t
and type secret_key = Mavryk_crypto.Signature.Secret_key.t
and type signature = Mavryk_crypto.Signature.t
and type pk_uri = Mavryk_client_base.Client_keys.pk_uri
and type sk_uri = Mavryk_client_base.Client_keys.sk_uri
type pk_uri = Mavryk_client_base.Client_keys.pk_uri
type sk_uri = Mavryk_client_base.Client_keys.sk_uri
type public_key_hash = Mavryk_crypto.Signature.Public_key_hash.t
type public_key = Mavryk_crypto.Signature.Public_key.t
type secret_key = Mavryk_crypto.Signature.Secret_key.t
type signature = Mavryk_crypto.Signature.t
description
is a multi-line human readable description of the signer, that should include the format of key specifications.
val neuterize : sk_uri -> pk_uri Mavryk_base.TzPervasives.tzresult Lwt.t
neuterize sk
is the corresponding pk
.
val import_secret_key :
io:Mavryk_client_base.Client_context.io_wallet ->
pk_uri ->
(public_key_hash * public_key option) Mavryk_base.TzPervasives.tzresult Lwt.t
import_secret_key ~io pk
is the function to be called when interactively importing a key-pair and returning the public key and its hash.
Some signer implementations improve long-term security by requiring human/manual validation while importing keys, the ~io
argument can be used to prompt the user in such case.
val public_key : pk_uri -> public_key Mavryk_base.TzPervasives.tzresult Lwt.t
public_key pk
is the Ed25519 version of pk
.
val public_key_hash :
pk_uri ->
(public_key_hash * public_key option) Mavryk_base.TzPervasives.tzresult Lwt.t
public_key_hash pk
is the hash of pk
. As some signers will query the full public key to obtain the hash, it can be optionally returned to reduce the amount of queries.
val sign :
?watermark:Mavryk_crypto.Signature.watermark ->
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
signature Mavryk_base.TzPervasives.tzresult Lwt.t
sign ?watermark sk data
is signature obtained by signing data
with sk
.
val deterministic_nonce :
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Bytes.t Mavryk_base.TzPervasives.tzresult Lwt.t
deterministic_nonce sk data
is a nonce obtained deterministically from data
and sk
.
val deterministic_nonce_hash :
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Bytes.t Mavryk_base.TzPervasives.tzresult Lwt.t
deterministic_nonce_hash sk data
is a nonce hash obtained deterministically from data
and sk
.
val supports_deterministic_nonces :
sk_uri ->
bool Mavryk_base.TzPervasives.tzresult Lwt.t
supports_deterministic_nonces
indicates whether the deterministic_nonce
functionality is supported.