This commit is contained in:
parent
7fe27b6e2a
commit
50a81663cd
1 changed files with 40 additions and 37 deletions
13
src/keys.ml
13
src/keys.ml
|
|
@ -288,13 +288,16 @@ module Make (Conn : Pg.CONN) = struct
|
||||||
let find_future_denomination h_pub = Hashtbl.find_opt t.future_dn_ht h_pub
|
let find_future_denomination h_pub = Hashtbl.find_opt t.future_dn_ht h_pub
|
||||||
|
|
||||||
let certify_future_signkey pub ~master_sig =
|
let certify_future_signkey pub ~master_sig =
|
||||||
|
let* priv, future_sk =
|
||||||
match
|
match
|
||||||
( Hashtbl.find_opt t.future_sk_ht pub,
|
( Hashtbl.find_opt t.future_sk_key_ht pub,
|
||||||
Hashtbl.find_opt t.future_sk_key_ht pub )
|
Hashtbl.find_opt t.future_sk_ht pub )
|
||||||
with
|
with
|
||||||
| None, _ | _, None ->
|
| None, None ->
|
||||||
Error "Keys certify_future_signkey: future signkey not found."
|
Error "Keys certify_future_signkey: future signkey not found."
|
||||||
| Some future_sk, Some priv -> (
|
| None, _ | _, None -> Error "Keys invalid state"
|
||||||
|
| Some priv, Some future_sk -> Ok (priv, future_sk)
|
||||||
|
in
|
||||||
match Hashtbl.find_opt t.sk_ht pub with
|
match Hashtbl.find_opt t.sk_ht pub with
|
||||||
| Some _sk -> Error "Keys certify_future_signkey: already certified"
|
| Some _sk -> Error "Keys certify_future_signkey: already certified"
|
||||||
| None ->
|
| None ->
|
||||||
|
|
@ -325,7 +328,7 @@ module Make (Conn : Pg.CONN) = struct
|
||||||
Hashtbl.remove t.future_sk_key_ht pub;
|
Hashtbl.remove t.future_sk_key_ht pub;
|
||||||
|
|
||||||
let* () = Pg.insert_signkey (module Conn) sk |> unwrap_err_caqti in
|
let* () = Pg.insert_signkey (module Conn) sk |> unwrap_err_caqti in
|
||||||
Ok ())
|
Ok ()
|
||||||
|
|
||||||
let certify_future_denomination h_pub ~master_sig =
|
let certify_future_denomination h_pub ~master_sig =
|
||||||
match
|
match
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue