denom caqti, move section_name out of denom_data

This commit is contained in:
swrup 2025-12-16 17:21:50 +01:00
parent c41ca5b4e2
commit 4f69ac56d2
5 changed files with 145 additions and 136 deletions

View file

@ -2,10 +2,9 @@ open Syntax
open Api
module Keys_get = struct
let mk_future_denom ~sm
let mk_future_denom ~sm ~section_name
({
pub;
section_name;
value;
stamp_start;
stamp_expire_withdraw;
@ -75,7 +74,13 @@ module Keys_get = struct
let future_denoms =
Secmod.get_denoms_data sm
|> List.filter (fun k -> Option.is_none k.Denom_data.master_sig)
|> List.map (fun denom -> mk_future_denom ~sm denom)
|> List.map (fun dn_data ->
let opt =
Secmod.find_denom_section_name sm dn_data.Denom_data.h_pub
in
match opt with
| None -> Fmt.failwith "section_name not found."
| Some section_name -> mk_future_denom ~sm ~section_name dn_data)
in
let master_pub = Config.Exchange.master_public_key in
let denom_secmod_public_key = Secmod.get_sm_key_pub sm in
@ -161,28 +166,16 @@ module Keys_post = struct
|> list_iter (fun denom ->
let error = Error "update_master_signatures sanity check failure" in
let* opt =
Pg.lookup_denomination_key db_conn denom.Denom_data.h_pub
|> unwrap_err_caqti
in
let* ( valid_from,
_expire_withdraw,
_expire_deposit,
_expire_legal,
coin,
_fee_withdraw,
_fee_deposit,
_fee_refresh,
fee_refund,
age_mask ) =
match opt with None -> error | Some v -> Ok v
Pg.find_denom db_conn denom.Denom_data.h_pub |> unwrap_err_caqti
in
let* v = match opt with None -> error | Some v -> Ok v in
let check = function false -> error | true -> Ok () in
let* () =
check (Timestamp.compare valid_from denom.stamp_start = Some 0)
check (Timestamp.compare v.stamp_start denom.stamp_start = Some 0)
in
let* () = check (coin = denom.value) in
let* () = check (fee_refund = denom.fee_refund) in
let* () = check (age_mask = denom.age_mask) in
let* () = check (v.value = denom.value) in
let* () = check (v.fee_refund = denom.fee_refund) in
let* () = check (v.age_mask = denom.age_mask) in
Ok ())
let do_ ~db_conn ~sm MasterSignatures.{ denom_sigs; signkey_sigs } =