This commit is contained in:
parent
13b797f68a
commit
34891a73d3
2 changed files with 36 additions and 2 deletions
33
src/json.ml
33
src/json.ml
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue