package octez-shell-libs
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-shell-libs.client-base/Tezos_client_base/Client_keys_v1/index.html
Module Tezos_client_base.Client_keys_v1Source
Module to use keys over Tezos_crypto.Signature.V1
include module type of struct include Client_keys end
Cryptographic keys tables
val pk_uri_param :
?name:string ->
?desc:string ->
('a, 'b) Tezos_clic.params ->
(pk_uri -> 'a, 'b) Tezos_clic.paramsval sk_uri_param :
?name:string ->
?desc:string ->
('a, 'b) Tezos_clic.params ->
(sk_uri -> 'a, 'b) Tezos_clic.paramsval aggregate_sk_uri_param :
?name:string ->
?desc:string ->
('a, 'b) Tezos_clic.params ->
(aggregate_sk_uri -> 'a, 'b) Tezos_clic.paramstype sapling_key = Client_keys.sapling_key = {sk : sapling_uri;path : int32 list;address_index : Tezos_sapling.Core.Client.Viewing_key.index;
}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).
Interface for external signing modules.
type signer = Client_keys.signer = | Simple of (module SIGNER)| Aggregate of (module AGGREGATE_SIGNER)
register_signer signer registers first-class module signer as signer for keys with scheme (val signer : SIGNER).scheme.
register_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 Tezos_base.TzPervasives.tzresult Lwt.tval register_aggregate_key :
Client_context.wallet ->
?force:bool ->
(Tezos_crypto.Aggregate_signature.Public_key_hash.t
* aggregate_pk_uri
* aggregate_sk_uri) ->
?public_key:Tezos_crypto.Aggregate_signature.Public_key.t ->
string ->
unit Tezos_base.TzPervasives.tzresult Lwt.tval list_aggregate_keys :
Client_context.wallet ->
(string
* Tezos_crypto.Aggregate_signature.Public_key_hash.t
* Tezos_crypto.Aggregate_signature.Public_key.t option
* aggregate_sk_uri option)
list
Tezos_base.TzPervasives.tzresult
Lwt.tval import_aggregate_secret_key :
io:Client_context.io_wallet ->
aggregate_pk_uri ->
(Tezos_crypto.Aggregate_signature.Public_key_hash.t
* Tezos_crypto.Aggregate_signature.Public_key.t option)
Tezos_base.TzPervasives.tzresult
Lwt.tval alias_aggregate_keys :
Client_context.wallet ->
string ->
(Tezos_crypto.Aggregate_signature.Public_key_hash.t
* Tezos_crypto.Aggregate_signature.Public_key.t option
* aggregate_sk_uri option)
option
Tezos_base.TzPervasives.tzresult
Lwt.tval aggregate_sign :
Client_context.wallet ->
aggregate_sk_uri ->
Tezos_base.TzPervasives.Bytes.t ->
Tezos_crypto.Aggregate_signature.t Tezos_base.TzPervasives.tzresult Lwt.tinclude module type of V_latest
include module type of struct include Client_keys.V1 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 import_secret_key :
io:Client_context.io_wallet ->
Client_keys.pk_uri ->
(Tezos_crypto.Signature.V1.Public_key_hash.t
* Tezos_crypto.Signature.V1.Public_key.t option)
Tezos_base.TzPervasives.tzresult
Lwt.tval public_key :
Client_keys.pk_uri ->
Tezos_crypto.Signature.V1.Public_key.t Tezos_base.TzPervasives.tzresult Lwt.tval public_key_hash :
Client_keys.pk_uri ->
(Tezos_crypto.Signature.V1.Public_key_hash.t
* Tezos_crypto.Signature.V1.Public_key.t option)
Tezos_base.TzPervasives.tzresult
Lwt.tval neuterize :
Client_keys.sk_uri ->
Client_keys.pk_uri Tezos_base.TzPervasives.tzresult Lwt.tval sign :
Client_context.wallet ->
?watermark:Tezos_crypto.Signature.V1.watermark ->
Client_keys.sk_uri ->
Tezos_base.TzPervasives.Bytes.t ->
Tezos_crypto.Signature.V1.t Tezos_base.TzPervasives.tzresult Lwt.tval append :
Client_context.wallet ->
?watermark:Tezos_crypto.Signature.V1.watermark ->
Client_keys.sk_uri ->
Tezos_base.TzPervasives.Bytes.t ->
Tezos_base.TzPervasives.Bytes.t Tezos_base.TzPervasives.tzresult Lwt.tval check :
?watermark:Tezos_crypto.Signature.V1.watermark ->
Client_keys.pk_uri ->
Tezos_crypto.Signature.V1.t ->
Tezos_base.TzPervasives.Bytes.t ->
bool Tezos_base.TzPervasives.tzresult Lwt.tval deterministic_nonce :
Client_keys.sk_uri ->
Tezos_base.TzPervasives.Bytes.t ->
Tezos_base.TzPervasives.Bytes.t Tezos_base.TzPervasives.tzresult Lwt.tval deterministic_nonce_hash :
Client_keys.sk_uri ->
Tezos_base.TzPervasives.Bytes.t ->
Tezos_base.TzPervasives.Bytes.t Tezos_base.TzPervasives.tzresult Lwt.tval supports_deterministic_nonces :
Client_keys.sk_uri ->
bool Tezos_base.TzPervasives.tzresult Lwt.tval register_key :
Client_context.wallet ->
?force:bool ->
(Tezos_crypto.Signature.V1.Public_key_hash.t
* Client_keys.pk_uri
* Client_keys.sk_uri) ->
?public_key:Tezos_crypto.Signature.V1.Public_key.t ->
string ->
unit Tezos_base.TzPervasives.tzresult Lwt.tval register_keys :
Client_context.wallet ->
(string
* Tezos_crypto.Signature.V1.Public_key_hash.t
* Tezos_crypto.Signature.V1.Public_key.t
* Client_keys.pk_uri
* Client_keys.sk_uri)
list ->
unit Tezos_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
* Tezos_crypto.Signature.V1.Public_key_hash.t
* Tezos_crypto.Signature.V1.Public_key.t option
* Client_keys.sk_uri option)
list
Tezos_base.TzPervasives.tzresult
Lwt.tval alias_keys :
Client_context.wallet ->
string ->
(Tezos_crypto.Signature.V1.Public_key_hash.t
* Tezos_crypto.Signature.V1.Public_key.t option
* Client_keys.sk_uri option)
option
Tezos_base.TzPervasives.tzresult
Lwt.tval get_key :
Client_context.wallet ->
Tezos_crypto.Signature.V1.Public_key_hash.t ->
(string * Tezos_crypto.Signature.V1.Public_key.t * Client_keys.sk_uri)
Tezos_base.TzPervasives.tzresult
Lwt.tval get_public_key :
Client_context.wallet ->
Tezos_crypto.Signature.V1.Public_key_hash.t ->
(string * Tezos_crypto.Signature.V1.Public_key.t)
Tezos_base.TzPervasives.tzresult
Lwt.tval get_keys :
Client_context.wallet ->
(string
* Tezos_crypto.Signature.V1.Public_key_hash.t
* Tezos_crypto.Signature.V1.Public_key.t
* Client_keys.sk_uri)
list
Tezos_base.TzPervasives.tzresult
Lwt.t