denom caqti, move section_name out of denom_data
This commit is contained in:
parent
c41ca5b4e2
commit
4f69ac56d2
5 changed files with 145 additions and 136 deletions
|
|
@ -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 } =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue