diff --git a/src/api.ml b/src/api.ml index 89d9f123..6ad594d8 100644 --- a/src/api.ml +++ b/src/api.ml @@ -857,3 +857,30 @@ module AuditorDenominationKey = struct |> mem "auditor_sig" ExchangeKeyValidityPS.jsont ~enc:auditor_sig |> finish end + +module AuditorKeys = struct + type t = { + auditor_pub: EddsaPublicKey.t; + auditor_url: string; + auditor_name: string; + denomination_keys: AuditorDenominationKey.t list; + } + + let jsont = + let make auditor_pub auditor_url auditor_name denomination_keys = + { auditor_pub; auditor_url; auditor_name; denomination_keys } + in + let auditor_pub v = v.auditor_pub in + let auditor_url v = v.auditor_url in + let auditor_name v = v.auditor_name in + let denomination_keys v = v.denomination_keys in + let open Jsont.Object in + map ~kind:"AuditorKeys" make + |> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub + |> mem "auditor_url" Jsont.string ~enc:auditor_url + |> mem "auditor_name" Jsont.string ~enc:auditor_name + |> mem "denomination_keys" + (Jsont.list AuditorDenominationKey.jsont) + ~enc:denomination_keys + |> finish +end