Module Tezos_client_base.Client_keys_v1

Module to use keys over Tezos_crypto.Signature.V1

include module type of struct include Client_keys end

Cryptographic keys tables

type pk_uri = private Uri.t
module Pk_uri_hashtbl = Client_keys.Pk_uri_hashtbl
type sk_uri = private Uri.t
type sapling_uri = private Uri.t
val uri_param : ?name:string -> ?desc:string -> ('a, 'b) Tezos_clic.params -> (Uri.t -> 'a, 'b) Tezos_clic.params
val pk_uri_parameter : unit -> (pk_uri, 'a) Tezos_clic.parameter
val pk_uri_param : ?name:string -> ?desc:string -> ('a, 'b) Tezos_clic.params -> (pk_uri -> 'a, 'b) Tezos_clic.params
val sk_uri_parameter : unit -> (sk_uri, 'a) Tezos_clic.parameter
val sk_uri_param : ?name:string -> ?desc:string -> ('a, 'b) Tezos_clic.params -> (sk_uri -> 'a, 'b) Tezos_clic.params
type Tezos_base.TzPervasives.error +=
  1. | Unregistered_key_scheme of string
type Tezos_base.TzPervasives.error +=
  1. | Invalid_uri of Uri.t
type sapling_key = Client_keys.sapling_key = {
  1. sk : sapling_uri;
  2. path : int32 list;
  3. address_index : Tezos_sapling.Core.Client.Viewing_key.index;
}
module Sapling_key = Client_keys.Sapling_key
module Logging = Client_keys.Logging

Interface for external signing modules.

module type COMMON_SIGNER = Client_keys.COMMON_SIGNER
module type SIGNER = Client_keys.SIGNER
type signer = (module SIGNER)
val register_signer : (module SIGNER) -> unit

register_signer signer registers first-class module signer as signer for keys with scheme (val signer : SIGNER).scheme.

val registered_signers : unit -> (string * signer) list
module type S = Client_keys.S
module V0 = Client_keys.V0
module V1 = Client_keys.V1
module V2 = Client_keys.V2
module V_latest = Client_keys.V_latest
include module type of V_latest
val string_of_sk_uri : sk_uri -> string
val sk_uri_of_string : string -> sk_uri
include module type of struct include Client_keys.V1 end
module Signature_type = Client_keys.V1.Signature_type

Signature_type is a small module to be included in signer to conform to the module type SIGNER instead of rewriting all type.

module Public_key_hash = Client_keys.V1.Public_key_hash
module Public_key = Client_keys.V1.Public_key
module Secret_key = Client_keys.V1.Secret_key
val supports_deterministic_nonces : Client_keys.sk_uri -> bool Tezos_base.TzPervasives.tzresult Lwt.t

Similar to repeated calls to register_key, but is more efficient. Always forces addition of new elements.

val force_switch : unit -> (bool, 'ctx) Tezos_clic.arg