+ denom/signkey revocation signature

This commit is contained in:
swrup 2025-12-04 16:08:50 +01:00
parent 577b2117a4
commit 8685182709
2 changed files with 62 additions and 10 deletions

View file

@ -316,3 +316,27 @@ module MasterSignatures = struct
|> mem "signkey_sigs" (Jsont.list SignKeySignature.jsont) ~enc:signkey_sigs |> mem "signkey_sigs" (Jsont.list SignKeySignature.jsont) ~enc:signkey_sigs
|> finish |> finish
end end
module DenomRevocationSignature = struct
type t = { master_sig: MasterDenominationKeyRevocationPS.t }
let jsont =
let make master_sig = { master_sig } in
let enc v = v.master_sig in
let open Jsont.Object in
map ~kind:"DenomRevocationSignature" make
|> mem "master_sig" MasterDenominationKeyRevocationPS.jsont ~enc
|> finish
end
module SignkeyRevocationSignature = struct
type t = { master_sig: MasterSigningKeyRevocationPS.t }
let jsont =
let make master_sig = { master_sig } in
let enc v = v.master_sig in
let open Jsont.Object in
map ~kind:"SignkeyRevocationSignature" make
|> mem "master_sig" MasterSigningKeyRevocationPS.jsont ~enc
|> finish
end

View file

@ -207,6 +207,44 @@ module ExchangeSigningKeyValidityPS = struct
include MK (R) include MK (R)
end end
module MasterDenominationKeyRevocationPS = struct
module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED. *)
type r = { h_denom_pub: DenominationHash.t }
let bin =
let open Bin in
Purpose.make_bin Taler_signatures.master_denomination_key_revoked
@@ fun purpose ->
record (fun _purpose h_denom_pub -> { h_denom_pub })
|+ Purpose.field purpose
|+ field DenominationHash.bin (fun t -> t.h_denom_pub)
|> sealr
end
include R
include MK (R)
end
module MasterSigningKeyRevocationPS = struct
module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *)
type r = { exchange_pub: ExchangePublicKeyP.t }
let bin =
let open Bin in
Purpose.make_bin Taler_signatures.master_signing_key_revoked
@@ fun purpose ->
record (fun _purpose exchange_pub -> { exchange_pub })
|+ Purpose.field purpose
|+ field ExchangePublicKeyP.bin (fun t -> t.exchange_pub)
|> sealr
end
include R
include MK (R)
end
(* ### BIN IMPL END ### *) (* ### BIN IMPL END ### *)
module WithdrawRequestPS = struct module WithdrawRequestPS = struct
@ -711,16 +749,6 @@ module CoinPurseRefundConfirmationPS = struct
} }
end end
module MasterDenominationKeyRevocationPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED *)
type t = { h_denom_pub: DenominationHash.t }
end
module MasterSigningKeyRevocationPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *)
type t = { exchange_pub: ExchangePublicKeyP.t }
end
module MasterAddAuditorPS = struct module MasterAddAuditorPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *) (* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *)
type t = { type t = {