use Jsont.Error for unsupported CS denom + wip type binary signature

This commit is contained in:
swrup 2025-11-30 22:44:36 +01:00
parent 4568b1bd4c
commit eb56150120
6 changed files with 66 additions and 45 deletions

View file

@ -21,19 +21,18 @@ let mk_future_denom denom_key_signf
} :
Denomination.t) =
let denom_pub =
DenominationKey.Rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
in
let denom_secmod_sig =
let open Bin_type in
let open Bin_signature.DenominationKeyAnnouncementPS in
let h_denom_pub = h_pub in
let h_section_name = Hash_64_cstr.hash section_name in
let h_section_name = Bin_type.Hash_64_cstr.hash section_name in
let anchor_time = stamp_start in
let duration_withdraw =
Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn
in
let ps = { h_denom_pub; h_section_name; anchor_time; duration_withdraw } in
ps |> Bin.to_string bin |> denom_key_signf
Sig.sign denom_key_signf
{ h_denom_pub; h_section_name; anchor_time; duration_withdraw }
in
FutureDenom.
{
@ -61,8 +60,9 @@ let mk_future_signkey signkey_signf
let duration =
Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn
in
let ps = { exchange_pub; anchor_time; duration } in
ps |> Bin.to_string bin |> signkey_signf
{ exchange_pub; anchor_time; duration }
|> Bin.to_string bin
|> signkey_signf
in
FutureSignKey.
{ key= pub; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig }
@ -74,7 +74,8 @@ let mk_future_keys_response (secmod_signkey : Secmod_signkey.t)
|> List.filter (fun k -> Option.is_none k.Denomination.master_sig)
|> List.map (fun denom ->
let signf s =
Crypto.EddsaSignature.sign ~key:secmod_denom.sm_key.Signkey.priv s
Crypto.EddsaSignature.sign_as_string
~key:secmod_denom.sm_key.Signkey.priv s
in
mk_future_denom signf denom)
in