add Json.FutureKeysResponse
This commit is contained in:
parent
13b797f68a
commit
1674e338ac
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
|
|> mem "denom_secmod_sig" EddsaSignature.jsont ~enc:denom_secmod_sig
|
||||||
|> finish
|
|> finish
|
||||||
end
|
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 online_key = Vif.Server.device Devices.online_key server in
|
||||||
let denom_key = Vif.Server.device Devices.denom_key server in
|
let denom_key = Vif.Server.device Devices.denom_key server in
|
||||||
let denominations = Vif.Server.device Devices.denominations 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
|
mk_future_keys_response ~signkey ~online_key ~denom_key ~denominations
|
||||||
in
|
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
|
let* () = add ~field:"content-type" "application/json" in
|
||||||
respond `OK
|
respond `OK
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue