From 81ac0211a062673deecbff8b1b66e861ae106127 Mon Sep 17 00:00:00 2001 From: swrup Date: Fri, 27 Feb 2026 18:55:31 +0100 Subject: [PATCH] + validate denominations --- test/validate_response.ml | 53 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/test/validate_response.ml b/test/validate_response.ml index 75777211..28997a68 100644 --- a/test/validate_response.ml +++ b/test/validate_response.ml @@ -1,5 +1,4 @@ open Syntax -(*open Crypto*) let keys content = let open Api in @@ -74,7 +73,57 @@ let keys content = } in - (* validate denominations *) + let* () = + (* TODO parse CS *) + v.denominations + |> list_iter + (fun + (DenomGroup.Rsa + RsaDenomGroup. + { + denoms; + value; + fee_withdraw; + fee_deposit; + fee_refresh; + fee_refund; + }) + -> + let open RsaDenom in + denoms + |> list_iter + (fun + { + rsa_pub; + master_sig; + stamp_start; + stamp_expire_withdraw; + stamp_expire_deposit; + stamp_expire_legal; + lost= _; + } + -> + let denom_hash = + DenominationHash.hash + (Crypto.RsaPublicKey.to_octets rsa_pub) + in + let open Signatures.DenominationKeyValidity in + verify v.master_public_key master_sig + { + R.master= v.master_public_key; + start= stamp_start; + expire_withdraw= stamp_expire_withdraw; + expire_spend= stamp_expire_deposit; + expire_legal= stamp_expire_legal; + value; + fee_withdraw; + fee_deposit; + fee_refresh; + fee_refund; + denom_hash; + })) + in + (* validate global-fees *) (* validate list_issue_date *) (* validate auditors *)