Module Secrets.Wallets

type t
val load : logger:Logger.t -> disk_location:string -> t Async.Deferred.t
val reload : logger:Logger.t -> t -> unit Async.Deferred.t
val import_keypair : t -> Signature_lib.Keypair.t -> password:Secret_file.password -> Signature_lib.Public_key.Compressed.t Async.Deferred.t
val import_keypair_terminal_stdin : t -> Signature_lib.Keypair.t -> Signature_lib.Public_key.Compressed.t Async.Deferred.t
val generate_new : t -> password:Secret_file.password -> Signature_lib.Public_key.Compressed.t Async.Deferred.t
val create_hd_account : t -> hd_index:Mina_numbers.Hd_index.t -> ( Signature_lib.Public_key.Compressed.t, string ) Async.Deferred.Result.t
val find_unlocked : t -> needle:Signature_lib.Public_key.Compressed.t -> Signature_lib.Keypair.t option
val find_identity : t -> needle:Signature_lib.Public_key.Compressed.t -> [ `Keypair of Signature_lib.Keypair.t | `Hd_index of Mina_numbers.Hd_index.t ] option
val check_locked : t -> needle:Signature_lib.Public_key.Compressed.t -> bool option
val unlock : t -> needle:Signature_lib.Public_key.Compressed.t -> password:Secret_file.password -> ( unit, [ `Not_found | `Bad_password | `Key_read_error of Privkey_error.t ] ) Async.Deferred.Result.t
val lock : t -> needle:Signature_lib.Public_key.Compressed.t -> unit
val get_path : t -> Signature_lib.Public_key.Compressed.t -> string
val delete : t -> Signature_lib.Public_key.Compressed.t -> ( unit, [ `Not_found ] ) Async.Deferred.Result.t
val get_tracked_keypair : logger:Logger.t -> which:string -> read_from_env_exn: ( which:string -> string -> Signature_lib.Keypair.t Async.Deferred.t ) -> conf_dir:string -> Signature_lib.Public_key.Compressed.t -> Signature_lib.Keypair.t Async.Deferred.t