Module Mavryk_client_base.Client_keys

Cryptographic keys tables

type pk_uri = private Uri.t
type sk_uri = private Uri.t
type sapling_uri = private Uri.t
type aggregate_pk_uri = private Uri.t
type aggregate_sk_uri = private Uri.t
val pk_uri_parameter : unit -> (pk_uri, 'a) Mavryk_clic.parameter
val pk_uri_param : ?name:string -> ?desc:string -> ('a, 'b) Mavryk_clic.params -> (pk_uri -> 'a, 'b) Mavryk_clic.params
val sk_uri_parameter : unit -> (sk_uri, 'a) Mavryk_clic.parameter
val sk_uri_param : ?name:string -> ?desc:string -> ('a, 'b) Mavryk_clic.params -> (sk_uri -> 'a, 'b) Mavryk_clic.params
val aggregate_sk_uri_parameter : unit -> (aggregate_sk_uri, 'a) Mavryk_clic.parameter
val aggregate_sk_uri_param : ?name:string -> ?desc:string -> ('a, 'b) Mavryk_clic.params -> (aggregate_sk_uri -> 'a, 'b) Mavryk_clic.params
type Mavryk_base.TzPervasives.error +=
  1. | Unregistered_key_scheme of string
type Mavryk_base.TzPervasives.error +=
  1. | Invalid_uri of Uri.t
type sapling_key = {
  1. sk : sapling_uri;
  2. path : int32 list;
  3. address_index : Mavryk_sapling.Core.Client.Viewing_key.index;
}
module Aggregate_alias : sig ... end

Aggregate_alias contains the implementation needed for the wallet to have the correspondence between aliases and keys. It has three sub-module Public_key Public_key_hash Secret_key. The reason of a sub-module inside a sub-module is not confuse them with the alias module for the standard signature (i.e. Public_key, Public_key_hash, and Secret_key).

module Aggregate_type : sig ... end
module Logging : sig ... end

Interface for external signing modules.

module type COMMON_SIGNER = sig ... end
module type AGGREGATE_SIGNER = sig ... end
module type SIGNER = sig ... end
type signer =
  1. | Simple of (module SIGNER)
  2. | Aggregate of (module AGGREGATE_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
val register_aggregate_signer : (module AGGREGATE_SIGNER) -> unit

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

module type S = sig ... end
include module type of V_latest
module Signature_type : sig ... end

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

val supports_deterministic_nonces : sk_uri -> bool Mavryk_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) Mavryk_clic.arg