This commit is contained in:
swrup 2025-10-18 20:12:51 +02:00
parent 13b797f68a
commit 34891a73d3
2 changed files with 36 additions and 2 deletions

View file

@ -192,3 +192,36 @@ module FutureDenom = struct
|> mem "denom_secmod_sig" EddsaSignature.jsont ~enc:denom_secmod_sig
|> finish
end
module FutureKeysResponse = struct
open FutureKeysResponse
let jsont =
let make future_denoms future_signkeys master_pub denom_secmod_public_key
signkey_secmod_public_key =
{
future_denoms;
future_signkeys;
master_pub;
denom_secmod_public_key;
signkey_secmod_public_key;
}
in
let future_denoms t = t.future_denoms in
let future_signkeys t = t.future_signkeys in
let master_pub t = t.master_pub in
let denom_secmod_public_key t = t.denom_secmod_public_key in
let signkey_secmod_public_key t = t.signkey_secmod_public_key in
let open Jsont.Object in
map ~kind:"FutureKeysResponse" make
|> mem "future_denoms" (Jsont.list FutureDenom.jsont) ~enc:future_denoms
|> mem "future_signkeys"
(Jsont.list FutureSignKey.jsont)
~enc:future_signkeys
|> mem "master_pub" EddsaPublicKey.jsont ~enc:master_pub
|> mem "denom_secmod_public_key" EddsaPublicKey.jsont
~enc:denom_secmod_public_key
|> mem "signkey_secmod_public_key" EddsaPublicKey.jsont
~enc:signkey_secmod_public_key
|> finish
end

View file

@ -113,9 +113,10 @@ let keys req server _env =
let online_key = Vif.Server.device Devices.online_key server in
let denom_key = Vif.Server.device Devices.denom_key server in
let denominations = Vif.Server.device Devices.denominations server in
let _v =
let v =
mk_future_keys_response ~signkey ~online_key ~denom_key ~denominations
in
let* () = with_string req "keys .. \n" in
let s = Json.encode_exn Json.FutureKeysResponse.jsont v in
let* () = with_string req s in
let* () = add ~field:"content-type" "application/json" in
respond `OK