Mavryk_client_base.Client_keysmodule Pk_uri_hashtbl :
Mavryk_base.TzPervasives.Hashtbl.S with type key = pk_urival pk_uri_parameter : unit -> (pk_uri, 'a) Mavryk_clic.parameterval pk_uri_param :
?name:string ->
?desc:string ->
('a, 'b) Mavryk_clic.params ->
(pk_uri -> 'a, 'b) Mavryk_clic.paramsval sk_uri_parameter : unit -> (sk_uri, 'a) Mavryk_clic.parameterval sk_uri_param :
?name:string ->
?desc:string ->
('a, 'b) Mavryk_clic.params ->
(sk_uri -> 'a, 'b) Mavryk_clic.paramsval aggregate_sk_uri_parameter :
unit ->
(aggregate_sk_uri, 'a) Mavryk_clic.parameterval aggregate_sk_uri_param :
?name:string ->
?desc:string ->
('a, 'b) Mavryk_clic.params ->
(aggregate_sk_uri -> 'a, 'b) Mavryk_clic.paramstype sapling_key = {sk : sapling_uri;path : int32 list;address_index : Mavryk_sapling.Core.Client.Viewing_key.index;}module Sapling_key : Client_aliases.Alias with type t = sapling_keymodule Aggregate_alias : sig ... endAggregate_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 ... endmodule Logging : sig ... endmodule type COMMON_SIGNER = sig ... endmodule type AGGREGATE_SIGNER = sig ... endmodule type SIGNER = sig ... endval register_signer : (module SIGNER) -> unitregister_signer signer registers first-class module signer as signer for keys with scheme (val signer : SIGNER).scheme.
val registered_signers : unit -> (string * signer) listval register_aggregate_signer : (module AGGREGATE_SIGNER) -> unitregister_aggregate_signer signer registers first-class module signer as signer for keys with scheme (val signer : AGGREGATE_SIGNER).scheme.
val aggregate_neuterize :
aggregate_sk_uri ->
aggregate_pk_uri Mavryk_base.TzPervasives.tzresult Lwt.tval register_aggregate_key :
Client_context.wallet ->
?force:bool ->
(Mavryk_crypto.Aggregate_signature.Public_key_hash.t
* aggregate_pk_uri
* aggregate_sk_uri) ->
?public_key:Mavryk_crypto.Aggregate_signature.Public_key.t ->
string ->
unit Mavryk_base.TzPervasives.tzresult Lwt.tval list_aggregate_keys :
Client_context.wallet ->
(string
* Mavryk_crypto.Aggregate_signature.Public_key_hash.t
* Mavryk_crypto.Aggregate_signature.Public_key.t option
* aggregate_sk_uri option)
list
Mavryk_base.TzPervasives.tzresult
Lwt.tval import_aggregate_secret_key :
io:Client_context.io_wallet ->
aggregate_pk_uri ->
(Mavryk_crypto.Aggregate_signature.Public_key_hash.t
* Mavryk_crypto.Aggregate_signature.Public_key.t option)
Mavryk_base.TzPervasives.tzresult
Lwt.tval alias_aggregate_keys :
Client_context.wallet ->
string ->
(Mavryk_crypto.Aggregate_signature.Public_key_hash.t
* Mavryk_crypto.Aggregate_signature.Public_key.t option
* aggregate_sk_uri option)
option
Mavryk_base.TzPervasives.tzresult
Lwt.tval aggregate_sign :
Client_context.wallet ->
aggregate_sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_crypto.Aggregate_signature.t Mavryk_base.TzPervasives.tzresult Lwt.tmodule type S = sig ... endmodule V0 :
S
with type public_key_hash := Mavryk_crypto.Signature.V0.Public_key_hash.t
and type public_key := Mavryk_crypto.Signature.V0.Public_key.t
and type secret_key := Mavryk_crypto.Signature.V0.Secret_key.t
and type watermark := Mavryk_crypto.Signature.V0.watermark
and type signature := Mavryk_crypto.Signature.V0.tmodule V1 :
S
with type public_key_hash := Mavryk_crypto.Signature.V1.Public_key_hash.t
and type public_key := Mavryk_crypto.Signature.V1.Public_key.t
and type secret_key := Mavryk_crypto.Signature.V1.Secret_key.t
and type watermark := Mavryk_crypto.Signature.V1.watermark
and type signature := Mavryk_crypto.Signature.V1.tmodule V_latest :
S
with type public_key_hash :=
Mavryk_crypto.Signature.V_latest.Public_key_hash.t
and type public_key := Mavryk_crypto.Signature.V_latest.Public_key.t
and type secret_key := Mavryk_crypto.Signature.V_latest.Secret_key.t
and type watermark := Mavryk_crypto.Signature.V_latest.watermark
and type signature := Mavryk_crypto.Signature.V_latest.tinclude module type of V_latestmodule Signature_type : sig ... endSignature_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_aliases.Alias
with type t = Mavryk_crypto.Signature.V_latest.Public_key_hash.tmodule Public_key :
Client_aliases.Alias
with type t = pk_uri * Mavryk_crypto.Signature.V_latest.Public_key.t optionmodule Secret_key : Client_aliases.Alias with type t = sk_urival import_secret_key :
io:Client_context.io_wallet ->
pk_uri ->
(Mavryk_crypto.Signature.V_latest.Public_key_hash.t
* Mavryk_crypto.Signature.V_latest.Public_key.t option)
Mavryk_base.TzPervasives.tzresult
Lwt.tval public_key :
pk_uri ->
Mavryk_crypto.Signature.V_latest.Public_key.t
Mavryk_base.TzPervasives.tzresult
Lwt.tval public_key_hash :
pk_uri ->
(Mavryk_crypto.Signature.V_latest.Public_key_hash.t
* Mavryk_crypto.Signature.V_latest.Public_key.t option)
Mavryk_base.TzPervasives.tzresult
Lwt.tval neuterize : sk_uri -> pk_uri Mavryk_base.TzPervasives.tzresult Lwt.tval sign :
Client_context.wallet ->
?watermark:Mavryk_crypto.Signature.V_latest.watermark ->
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_crypto.Signature.V_latest.t Mavryk_base.TzPervasives.tzresult Lwt.tval append :
Client_context.wallet ->
?watermark:Mavryk_crypto.Signature.V_latest.watermark ->
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Bytes.t Mavryk_base.TzPervasives.tzresult Lwt.tval check :
?watermark:Mavryk_crypto.Signature.V_latest.watermark ->
pk_uri ->
Mavryk_crypto.Signature.V_latest.t ->
Mavryk_base.TzPervasives.Bytes.t ->
bool Mavryk_base.TzPervasives.tzresult Lwt.tval deterministic_nonce :
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Bytes.t Mavryk_base.TzPervasives.tzresult Lwt.tval deterministic_nonce_hash :
sk_uri ->
Mavryk_base.TzPervasives.Bytes.t ->
Mavryk_base.TzPervasives.Bytes.t Mavryk_base.TzPervasives.tzresult Lwt.tval supports_deterministic_nonces :
sk_uri ->
bool Mavryk_base.TzPervasives.tzresult Lwt.tval register_key :
Client_context.wallet ->
?force:bool ->
(Mavryk_crypto.Signature.V_latest.Public_key_hash.t * pk_uri * sk_uri) ->
?public_key:Mavryk_crypto.Signature.V_latest.Public_key.t ->
string ->
unit Mavryk_base.TzPervasives.tzresult Lwt.tval register_keys :
Client_context.wallet ->
(string
* Mavryk_crypto.Signature.V_latest.Public_key_hash.t
* Mavryk_crypto.Signature.V_latest.Public_key.t
* pk_uri
* sk_uri)
list ->
unit Mavryk_base.TzPervasives.tzresult Lwt.tSimilar to repeated calls to register_key, but is more efficient. Always forces addition of new elements.
val list_keys :
Client_context.wallet ->
(string
* Mavryk_crypto.Signature.V_latest.Public_key_hash.t
* Mavryk_crypto.Signature.V_latest.Public_key.t option
* sk_uri option)
list
Mavryk_base.TzPervasives.tzresult
Lwt.tval alias_keys :
Client_context.wallet ->
string ->
(Mavryk_crypto.Signature.V_latest.Public_key_hash.t
* Mavryk_crypto.Signature.V_latest.Public_key.t option
* sk_uri option)
option
Mavryk_base.TzPervasives.tzresult
Lwt.tval get_key :
Client_context.wallet ->
Mavryk_crypto.Signature.V_latest.Public_key_hash.t ->
(string * Mavryk_crypto.Signature.V_latest.Public_key.t * sk_uri)
Mavryk_base.TzPervasives.tzresult
Lwt.tval get_public_key :
Client_context.wallet ->
Mavryk_crypto.Signature.V_latest.Public_key_hash.t ->
(string * Mavryk_crypto.Signature.V_latest.Public_key.t)
Mavryk_base.TzPervasives.tzresult
Lwt.tval get_keys :
Client_context.wallet ->
(string
* Mavryk_crypto.Signature.V_latest.Public_key_hash.t
* Mavryk_crypto.Signature.V_latest.Public_key.t
* sk_uri)
list
Mavryk_base.TzPervasives.tzresult
Lwt.tval force_switch : unit -> (bool, 'ctx) Mavryk_clic.arg