This commit is contained in:
swrup 2026-02-27 21:11:23 +01:00
parent 6a44f4a088
commit 18b5bf0726

View file

@ -87,37 +87,38 @@ let keys content =
let* () = let* () =
(* TODO O(n^2) *) (* TODO O(n^2) *)
v.auditors v.auditors
|> list_iter |> List.concat_map
(fun (fun
AuditorKeys. AuditorKeys.
{ auditor_pub; auditor_url; auditor_name= _; denomination_keys } { auditor_pub; auditor_url; auditor_name= _; denomination_keys }
-> ->
let auditor_url_hash = Hash.H64.hash auditor_url in let auditor_url_hash = Hash.H64.hash auditor_url in
denomination_keys denomination_keys
|> list_iter |> List.map
(fun AuditorDenominationKey.{ denom_pub_h; auditor_sig } -> (fun AuditorDenominationKey.{ denom_pub_h; auditor_sig } ->
let open Denomination in (denom_pub_h, auditor_url_hash, auditor_pub, auditor_sig)))
let opt = |> list_iter
denom_l |> List.find_opt (fun dn -> dn.h_pub = denom_pub_h) (fun (denom_pub_h, auditor_url_hash, auditor_pub, auditor_sig) ->
in let open Denomination in
match opt with denom_l |> List.find_opt (fun dn -> dn.h_pub = denom_pub_h)
| None -> Fmt.error "auditor denomination key not found" |> function
| Some dn -> | None -> Fmt.error "auditor denomination key not found"
let open Signatures.ExchangeKeyValidity in | Some dn ->
verify auditor_pub auditor_sig let open Signatures.ExchangeKeyValidity in
{ verify auditor_pub auditor_sig
auditor_url_hash; {
master= auditor_pub; auditor_url_hash;
start= dn.stamp_start; master= auditor_pub;
expire_withdraw= dn.stamp_expire_withdraw; start= dn.stamp_start;
expire_spend= dn.stamp_expire_deposit; expire_withdraw= dn.stamp_expire_withdraw;
expire_legal= dn.stamp_expire_legal; expire_spend= dn.stamp_expire_deposit;
value= dn.value; expire_legal= dn.stamp_expire_legal;
fee_withdraw= dn.fee_withdraw; value= dn.value;
fee_deposit= dn.fee_deposit; fee_withdraw= dn.fee_withdraw;
fee_refresh= dn.fee_refresh; fee_deposit= dn.fee_deposit;
denom_hash= denom_pub_h; fee_refresh= dn.fee_refresh;
})) denom_hash= dn.h_pub;
})
in in
Ok () Ok ()