This commit is contained in:
swrup 2025-12-06 18:11:37 +01:00
parent e3ea4028f8
commit 18c651155b

View file

@ -1,4 +1,5 @@
(* TODO (* TODO
ppx? ppx?
normalized JSON-object normalized JSON-object
@ -21,10 +22,10 @@
option: correct use opt_mem or Jsont.option option: correct use opt_mem or Jsont.option
number number
- number is "float", but we probably want int everywhere instead - number is "float", but we probably want int everywhere instead
- numeric values capped at 2^53 -1 inclusive because json - numeric values capped at 2^53 -1 inclusive because json *)
*)
open Crypto open Crypto
open Bin_signature open Bin_signature
open Jsont.Object
let encode_exn jsont v = Jsont_bytesrw.encode_string jsont v |> Result.get_ok let encode_exn jsont v = Jsont_bytesrw.encode_string jsont v |> Result.get_ok
let encode jsont v = Jsont_bytesrw.encode_string jsont v let encode jsont v = Jsont_bytesrw.encode_string jsont v
@ -160,7 +161,6 @@ module CurrencySpecification = struct
in in
let alt_unit_names v = v.alt_unit_names in let alt_unit_names v = v.alt_unit_names in
let common_amounts v = v.common_amounts in let common_amounts v = v.common_amounts in
let open Jsont.Object in
map ~kind:"CurrencySpecification" make map ~kind:"CurrencySpecification" make
|> mem "name" Jsont.string ~enc:name |> mem "name" Jsont.string ~enc:name
|> mem "num_fractional_input_digits" Jsont.int |> mem "num_fractional_input_digits" Jsont.int
@ -210,7 +210,6 @@ module ExchangeVersionResponse = struct
let currency_specification v = v.currency_specification in let currency_specification v = v.currency_specification in
let supported_kyc_requirements v = v.supported_kyc_requirements in let supported_kyc_requirements v = v.supported_kyc_requirements in
let aml_spa_dialect v = v.aml_spa_dialect in let aml_spa_dialect v = v.aml_spa_dialect in
let open Jsont.Object in
map ~kind:"ExchangeVersionResponse" make map ~kind:"ExchangeVersionResponse" make
|> mem "version" Jsont.string ~enc:version |> mem "version" Jsont.string ~enc:version
|> mem "implementation" (Jsont.option Jsont.string) ~enc:implementation |> mem "implementation" (Jsont.option Jsont.string) ~enc:implementation
@ -272,7 +271,6 @@ module DenominationKey = struct
let of_rsa v = Rsa v let of_rsa v = Rsa v
let jsont = let jsont =
let open Jsont.Object in
let rsa = Case.map "RSA" RsaDenominationKey.jsont ~dec:of_rsa in let rsa = Case.map "RSA" RsaDenominationKey.jsont ~dec:of_rsa in
let cs = Case.map "CS" CSDenominationKey.jsont ~dec:of_cs in let cs = Case.map "CS" CSDenominationKey.jsont ~dec:of_cs in
let enc_case = function Rsa v -> Case.value rsa v in let enc_case = function Rsa v -> Case.value rsa v in
@ -300,7 +298,6 @@ module FutureSignKey = struct
let stamp_expire v = v.stamp_expire in let stamp_expire v = v.stamp_expire in
let stamp_end v = v.stamp_end in let stamp_end v = v.stamp_end in
let signkey_secmod_sig v = v.signkey_secmod_sig in let signkey_secmod_sig v = v.signkey_secmod_sig in
let open Jsont.Object in
map ~kind:"FutureSignKey" make map ~kind:"FutureSignKey" make
|> mem "key" EddsaPublicKey.jsont ~enc:key |> mem "key" EddsaPublicKey.jsont ~enc:key
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start |> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
@ -358,7 +355,6 @@ module FutureDenom = struct
let fee_refresh t = t.fee_refresh in let fee_refresh t = t.fee_refresh in
let fee_refund t = t.fee_refund in let fee_refund t = t.fee_refund in
let denom_secmod_sig t = t.denom_secmod_sig in let denom_secmod_sig t = t.denom_secmod_sig in
let open Jsont.Object in
map ~kind:"FutureDenom" make map ~kind:"FutureDenom" make
|> mem "section_name" Jsont.string ~enc:section_name |> mem "section_name" Jsont.string ~enc:section_name
|> mem "value" Amount.jsont ~enc:value |> mem "value" Amount.jsont ~enc:value
@ -401,7 +397,6 @@ module FutureKeysResponse = struct
let master_pub t = t.master_pub in let master_pub t = t.master_pub in
let denom_secmod_public_key t = t.denom_secmod_public_key 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 signkey_secmod_public_key t = t.signkey_secmod_public_key in
let open Jsont.Object in
map ~kind:"FutureKeysResponse" make map ~kind:"FutureKeysResponse" make
|> mem "future_denoms" (Jsont.list FutureDenom.jsont) ~enc:future_denoms |> mem "future_denoms" (Jsont.list FutureDenom.jsont) ~enc:future_denoms
|> mem "future_signkeys" |> mem "future_signkeys"
@ -425,7 +420,6 @@ module SignKeySignature = struct
let make key master_sig = { key; master_sig } in let make key master_sig = { key; master_sig } in
let key v = v.key in let key v = v.key in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let open Jsont.Object in
map ~kind:"SignKeySignature" make map ~kind:"SignKeySignature" make
|> mem "key" EddsaPublicKey.jsont ~enc:key |> mem "key" EddsaPublicKey.jsont ~enc:key
|> mem "master_sig" ExchangeSigningKeyValidityPS.jsont ~enc:master_sig |> mem "master_sig" ExchangeSigningKeyValidityPS.jsont ~enc:master_sig
@ -442,7 +436,6 @@ module DenomSignature = struct
let make h_denom_pub master_sig = { h_denom_pub; master_sig } in let make h_denom_pub master_sig = { h_denom_pub; master_sig } in
let h_denom_pub v = v.h_denom_pub in let h_denom_pub v = v.h_denom_pub in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let open Jsont.Object in
map ~kind:"DenomSignature" make map ~kind:"DenomSignature" make
|> mem "h_denom_pub" HashCode.jsont ~enc:h_denom_pub |> mem "h_denom_pub" HashCode.jsont ~enc:h_denom_pub
|> mem "master_sig" DenominationKeyValidityPS.jsont ~enc:master_sig |> mem "master_sig" DenominationKeyValidityPS.jsont ~enc:master_sig
@ -459,7 +452,6 @@ module MasterSignatures = struct
let make denom_sigs signkey_sigs = { denom_sigs; signkey_sigs } in let make denom_sigs signkey_sigs = { denom_sigs; signkey_sigs } in
let denom_sigs v = v.denom_sigs in let denom_sigs v = v.denom_sigs in
let signkey_sigs v = v.signkey_sigs in let signkey_sigs v = v.signkey_sigs in
let open Jsont.Object in
map ~kind:"MasterSignatures" make map ~kind:"MasterSignatures" make
|> mem "denom_sigs" (Jsont.list DenomSignature.jsont) ~enc:denom_sigs |> mem "denom_sigs" (Jsont.list DenomSignature.jsont) ~enc:denom_sigs
|> mem "signkey_sigs" (Jsont.list SignKeySignature.jsont) ~enc:signkey_sigs |> mem "signkey_sigs" (Jsont.list SignKeySignature.jsont) ~enc:signkey_sigs
@ -472,7 +464,6 @@ module DenomRevocationSignature = struct
let jsont = let jsont =
let make master_sig = { master_sig } in let make master_sig = { master_sig } in
let enc v = v.master_sig in let enc v = v.master_sig in
let open Jsont.Object in
map ~kind:"DenomRevocationSignature" make map ~kind:"DenomRevocationSignature" make
|> mem "master_sig" MasterDenominationKeyRevocationPS.jsont ~enc |> mem "master_sig" MasterDenominationKeyRevocationPS.jsont ~enc
|> finish |> finish
@ -484,7 +475,6 @@ module SignkeyRevocationSignature = struct
let jsont = let jsont =
let make master_sig = { master_sig } in let make master_sig = { master_sig } in
let enc v = v.master_sig in let enc v = v.master_sig in
let open Jsont.Object in
map ~kind:"SignkeyRevocationSignature" make map ~kind:"SignkeyRevocationSignature" make
|> mem "master_sig" MasterSigningKeyRevocationPS.jsont ~enc |> mem "master_sig" MasterSigningKeyRevocationPS.jsont ~enc
|> finish |> finish
@ -510,7 +500,6 @@ module AuditorSetupMessage = struct
let auditor_pub v = v.auditor_pub in let auditor_pub v = v.auditor_pub in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let validity_start v = v.validity_start in let validity_start v = v.validity_start in
let open Jsont.Object in
map ~kind:"AuditorSetupMessage" make map ~kind:"AuditorSetupMessage" make
|> mem "auditor_url" Jsont.string ~enc:auditor_url |> mem "auditor_url" Jsont.string ~enc:auditor_url
|> mem "auditor_name" Jsont.string ~enc:auditor_name |> mem "auditor_name" Jsont.string ~enc:auditor_name
@ -531,7 +520,6 @@ module AuditorTeardownMessage = struct
let make master_sig validity_end = { master_sig; validity_end } in let make master_sig validity_end = { master_sig; validity_end } in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let validity_end v = v.validity_end in let validity_end v = v.validity_end in
let open Jsont.Object in
map ~kind:"AuditorTeardownMessage" make map ~kind:"AuditorTeardownMessage" make
|> mem "master_sig" MasterDelAuditorPS.jsont ~enc:master_sig |> mem "master_sig" MasterDelAuditorPS.jsont ~enc:master_sig
|> mem "validity_end" Timestamp.jsont ~enc:validity_end |> mem "validity_end" Timestamp.jsont ~enc:validity_end
@ -569,7 +557,6 @@ module WireFeeSetupMessage = struct
let fee_end v = v.fee_end in let fee_end v = v.fee_end in
let closing_fee v = v.closing_fee in let closing_fee v = v.closing_fee in
let wire_fee v = v.wire_fee in let wire_fee v = v.wire_fee in
let open Jsont.Object in
map ~kind:"WireFeeSetupMessage" make map ~kind:"WireFeeSetupMessage" make
|> mem "wire_method" Jsont.string ~enc:wire_method |> mem "wire_method" Jsont.string ~enc:wire_method
|> mem "master_sig_wire" MasterWireFeePS.jsont ~enc:master_sig_wire |> mem "master_sig_wire" MasterWireFeePS.jsont ~enc:master_sig_wire
@ -618,7 +605,6 @@ module GlobalFees = struct
let purse_account_limit v = v.purse_account_limit in let purse_account_limit v = v.purse_account_limit in
let purse_timeout v = v.purse_timeout in let purse_timeout v = v.purse_timeout in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let open Jsont.Object in
map ~kind:"GlobalFees" make map ~kind:"GlobalFees" make
|> mem "start_date" Timestamp.jsont ~enc:start_date |> mem "start_date" Timestamp.jsont ~enc:start_date
|> mem "end_date" Timestamp.jsont ~enc:end_date |> mem "end_date" Timestamp.jsont ~enc:end_date
@ -661,7 +647,6 @@ module WireSetupMessage = struct
let validity_start v = v.validity_start in let validity_start v = v.validity_start in
let bank_label v = v.bank_label in let bank_label v = v.bank_label in
let priority v = v.priority in let priority v = v.priority in
let open Jsont.Object in
map ~kind:"WireSetupMessage" make map ~kind:"WireSetupMessage" make
|> mem "payto_uri" Jsont.string ~enc:payto_uri |> mem "payto_uri" Jsont.string ~enc:payto_uri
|> mem "master_sig_wire" MasterWireDetailsPS.jsont ~enc:master_sig_wire |> mem "master_sig_wire" MasterWireDetailsPS.jsont ~enc:master_sig_wire
@ -687,7 +672,6 @@ module WireTeardownMessage = struct
let payto_uri v = v.payto_uri in let payto_uri v = v.payto_uri in
let master_sig_del v = v.master_sig_del in let master_sig_del v = v.master_sig_del in
let validity_end v = v.validity_end in let validity_end v = v.validity_end in
let open Jsont.Object in
map ~kind:"WireTeardownMessage" make map ~kind:"WireTeardownMessage" make
|> mem "payto_uri" Jsont.string ~enc:payto_uri |> mem "payto_uri" Jsont.string ~enc:payto_uri
|> mem "master_sig_del" MasterDelWirePS.jsont ~enc:master_sig_del |> mem "master_sig_del" MasterDelWirePS.jsont ~enc:master_sig_del
@ -723,7 +707,6 @@ module DrainProfitsMessage = struct
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let date v = v.date in let date v = v.date in
let amount v = v.amount in let amount v = v.amount in
let open Jsont.Object in
map ~kind:"DrainProfitsMessage" make map ~kind:"DrainProfitsMessage" make
|> mem "debit_account_section" Jsont.string ~enc:debit_account_section |> mem "debit_account_section" Jsont.string ~enc:debit_account_section
|> mem "credit_payto_uri" Jsont.string ~enc:credit_payto_uri |> mem "credit_payto_uri" Jsont.string ~enc:credit_payto_uri
@ -762,7 +745,6 @@ module AmlOfficerSetup = struct
let read_only v = v.read_only in let read_only v = v.read_only in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let change_date v = v.change_date in let change_date v = v.change_date in
let open Jsont.Object in
map ~kind:"AmlOfficerSetup" make map ~kind:"AmlOfficerSetup" make
|> mem "officer_pub" EddsaPublicKey.jsont ~enc:officer_pub |> mem "officer_pub" EddsaPublicKey.jsont ~enc:officer_pub
|> mem "officer_name" Jsont.string ~enc:officer_name |> mem "officer_name" Jsont.string ~enc:officer_name
@ -804,7 +786,6 @@ module ExchangePartnerSetupRequest = struct
let start_date v = v.start_date in let start_date v = v.start_date in
let end_date v = v.end_date in let end_date v = v.end_date in
let wad_fee v = v.wad_fee in let wad_fee v = v.wad_fee in
let open Jsont.Object in
map ~kind:"ExchangePartnerSetupRequest" make map ~kind:"ExchangePartnerSetupRequest" make
|> mem "partner_base_url" Jsont.string ~enc:partner_base_url |> mem "partner_base_url" Jsont.string ~enc:partner_base_url
|> mem "partner_pub" EddsaPublicKey.jsont ~enc:partner_pub |> mem "partner_pub" EddsaPublicKey.jsont ~enc:partner_pub
@ -849,7 +830,6 @@ module ExchangePartnerListEntry = struct
let start_date v = v.start_date in let start_date v = v.start_date in
let end_date v = v.end_date in let end_date v = v.end_date in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let open Jsont.Object in
map ~kind:"ExchangePartnerListEntry" make map ~kind:"ExchangePartnerListEntry" make
|> mem "partner_base_url" Jsont.string ~enc:partner_base_url |> mem "partner_base_url" Jsont.string ~enc:partner_base_url
|> mem "partner_master_pub" EddsaPublicKey.jsont ~enc:partner_master_pub |> mem "partner_master_pub" EddsaPublicKey.jsont ~enc:partner_master_pub
@ -879,7 +859,6 @@ module AggregateTransferFee = struct
let start_date v = v.start_date in let start_date v = v.start_date in
let end_date v = v.end_date in let end_date v = v.end_date in
let sig_ v = v.sig_ in let sig_ v = v.sig_ in
let open Jsont.Object in
map ~kind:"AggregateTransferFee" make map ~kind:"AggregateTransferFee" make
|> mem "wire_fee" Amount.jsont ~enc:wire_fee |> mem "wire_fee" Amount.jsont ~enc:wire_fee
|> mem "closing_fee" Amount.jsont ~enc:closing_fee |> mem "closing_fee" Amount.jsont ~enc:closing_fee
@ -899,7 +878,6 @@ module AuditorDenominationKey = struct
let make denom_pub_h auditor_sig = { denom_pub_h; auditor_sig } in let make denom_pub_h auditor_sig = { denom_pub_h; auditor_sig } in
let denom_pub_h v = v.denom_pub_h in let denom_pub_h v = v.denom_pub_h in
let auditor_sig v = v.auditor_sig in let auditor_sig v = v.auditor_sig in
let open Jsont.Object in
map ~kind:"AuditorDenominationKey" make map ~kind:"AuditorDenominationKey" make
|> mem "denom_pub_h" HashCode.jsont ~enc:denom_pub_h |> mem "denom_pub_h" HashCode.jsont ~enc:denom_pub_h
|> mem "auditor_sig" ExchangeKeyValidityPS.jsont ~enc:auditor_sig |> mem "auditor_sig" ExchangeKeyValidityPS.jsont ~enc:auditor_sig
@ -922,7 +900,6 @@ module AuditorKeys = struct
let auditor_url v = v.auditor_url in let auditor_url v = v.auditor_url in
let auditor_name v = v.auditor_name in let auditor_name v = v.auditor_name in
let denomination_keys v = v.denomination_keys in let denomination_keys v = v.denomination_keys in
let open Jsont.Object in
map ~kind:"AuditorKeys" make map ~kind:"AuditorKeys" make
|> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub |> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub
|> mem "auditor_url" Jsont.string ~enc:auditor_url |> mem "auditor_url" Jsont.string ~enc:auditor_url
@ -951,7 +928,6 @@ module SignKey = struct
let stamp_expire v = v.stamp_expire in let stamp_expire v = v.stamp_expire in
let stamp_end v = v.stamp_end in let stamp_end v = v.stamp_end in
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let open Jsont.Object in
map ~kind:"SignKey" make map ~kind:"SignKey" make
|> mem "key" EddsaPublicKey.jsont ~enc:key |> mem "key" EddsaPublicKey.jsont ~enc:key
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start |> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
@ -967,7 +943,6 @@ module RecoupDenoms = struct
let jsont = let jsont =
let make h_denom_pub = { h_denom_pub } in let make h_denom_pub = { h_denom_pub } in
let h_denom_pub v = v.h_denom_pub in let h_denom_pub v = v.h_denom_pub in
let open Jsont.Object in
map ~kind:"RecoupDenoms" make map ~kind:"RecoupDenoms" make
|> mem "h_denom_pub" HashCode.jsont ~enc:h_denom_pub |> mem "h_denom_pub" HashCode.jsont ~enc:h_denom_pub
|> finish |> finish
@ -1005,7 +980,6 @@ module RsaDenom = struct
let stamp_expire_deposit v = v.stamp_expire_deposit in let stamp_expire_deposit v = v.stamp_expire_deposit in
let stamp_expire_legal v = v.stamp_expire_legal in let stamp_expire_legal v = v.stamp_expire_legal in
let lost v = v.lost in let lost v = v.lost in
let open Jsont.Object in
map ~kind:"RsaDenom" make map ~kind:"RsaDenom" make
|> mem "rsa_pub" RsaPublicKey.jsont ~enc:rsa_pub |> mem "rsa_pub" RsaPublicKey.jsont ~enc:rsa_pub
|> mem "master_sig" DenominationKeyValidityPS.jsont ~enc:master_sig |> mem "master_sig" DenominationKeyValidityPS.jsont ~enc:master_sig
@ -1037,7 +1011,6 @@ module RsaDenomGroup = struct
let fee_deposit v = v.fee_deposit in let fee_deposit v = v.fee_deposit in
let fee_refresh v = v.fee_refresh in let fee_refresh v = v.fee_refresh in
let fee_refund v = v.fee_refund in let fee_refund v = v.fee_refund in
let open Jsont.Object in
map ~kind:"RsaDenomGroup" make map ~kind:"RsaDenomGroup" make
|> mem "denoms" (Jsont.list RsaDenom.jsont) ~enc:denoms |> mem "denoms" (Jsont.list RsaDenom.jsont) ~enc:denoms
|> mem "value" Amount.jsont ~enc:value |> mem "value" Amount.jsont ~enc:value
@ -1054,7 +1027,6 @@ module DenomGroup = struct
let of_rsa v = Rsa v let of_rsa v = Rsa v
let jsont = let jsont =
let open Jsont.Object in
let rsa = Case.map "RSA" RsaDenomGroup.jsont ~dec:of_rsa in let rsa = Case.map "RSA" RsaDenomGroup.jsont ~dec:of_rsa in
let enc_case = function Rsa v -> Case.value rsa v in let enc_case = function Rsa v -> Case.value rsa v in
let cases = Case.[ make rsa ] in let cases = Case.[ make rsa ] in
@ -1079,7 +1051,6 @@ module AccountLimit = struct
let timeframe v = v.timeframe in let timeframe v = v.timeframe in
let threshold v = v.threshold in let threshold v = v.threshold in
let soft_limit v = v.soft_limit in let soft_limit v = v.soft_limit in
let open Jsont.Object in
map ~kind:"AccountLimit" make map ~kind:"AccountLimit" make
|> mem "operation_type" Account_operation.jsont ~enc:operation_type |> mem "operation_type" Account_operation.jsont ~enc:operation_type
|> mem "timeframe" RelativeTime.jsont ~enc:timeframe |> mem "timeframe" RelativeTime.jsont ~enc:timeframe
@ -1094,7 +1065,6 @@ module ZeroLimitedOperation = struct
let jsont = let jsont =
let make operation_type = { operation_type } in let make operation_type = { operation_type } in
let operation_type v = v.operation_type in let operation_type v = v.operation_type in
let open Jsont.Object in
map ~kind:"ZeroLimitedOperation" make map ~kind:"ZeroLimitedOperation" make
|> mem "operation_type" Account_operation.jsont ~enc:operation_type |> mem "operation_type" Account_operation.jsont ~enc:operation_type
|> finish |> finish
@ -1115,7 +1085,6 @@ module RegexAccountRestriction = struct
let payto_regex v = v.payto_regex in let payto_regex v = v.payto_regex in
let human_hint v = v.human_hint in let human_hint v = v.human_hint in
let human_hint_i18n v = v.human_hint_i18n in let human_hint_i18n v = v.human_hint_i18n in
let open Jsont.Object in
map ~kind:"RegexAccountRestriction" make map ~kind:"RegexAccountRestriction" make
|> mem "payto_regex" Jsont.string ~enc:payto_regex |> mem "payto_regex" Jsont.string ~enc:payto_regex
|> mem "human_hint" Jsont.string ~enc:human_hint |> mem "human_hint" Jsont.string ~enc:human_hint
@ -1132,7 +1101,6 @@ module AccountRestriction = struct
let of_deny () = Deny let of_deny () = Deny
let jsont = let jsont =
let open Jsont.Object in
let regex = Case.map "regex" RegexAccountRestriction.jsont ~dec:of_regex in let regex = Case.map "regex" RegexAccountRestriction.jsont ~dec:of_regex in
let deny = Case.map "deny" Jsont.ignore ~dec:of_deny in let deny = Case.map "deny" Jsont.ignore ~dec:of_deny in
let enc_case = function let enc_case = function
@ -1176,7 +1144,6 @@ module ExchangeWireAccount = struct
let master_sig v = v.master_sig in let master_sig v = v.master_sig in
let bank_label v = v.bank_label in let bank_label v = v.bank_label in
let priority v = v.priority in let priority v = v.priority in
let open Jsont.Object in
map ~kind:"ExchangeWireAccount" make map ~kind:"ExchangeWireAccount" make
|> mem "payto_uri" Jsont.string ~enc:payto_uri |> mem "payto_uri" Jsont.string ~enc:payto_uri
|> opt_mem "conversion_url" Jsont.string ~enc:conversion_url |> opt_mem "conversion_url" Jsont.string ~enc:conversion_url
@ -1204,7 +1171,6 @@ module ExtensionManifest = struct
let critical v = v.critical in let critical v = v.critical in
let version v = v.version in let version v = v.version in
let config v = v.config in let config v = v.config in
let open Jsont.Object in
map ~kind:"ExtensionManifest" make map ~kind:"ExtensionManifest" make
|> mem "critical" Jsont.bool ~enc:critical |> mem "critical" Jsont.bool ~enc:critical
|> mem "version" Jsont.string ~enc:version |> mem "version" Jsont.string ~enc:version
@ -1338,8 +1304,6 @@ module ExchangeKeysResponse = struct
let signkeys v = v.signkeys in let signkeys v = v.signkeys in
let extensions v = v.extensions in let extensions v = v.extensions in
let extensions_sig v = v.extensions_sig in let extensions_sig v = v.extensions_sig in
let open Jsont.Object in
map ~kind:"ExchangeKeysResponse" make map ~kind:"ExchangeKeysResponse" make
|> mem "version" Jsont.string ~enc:version |> mem "version" Jsont.string ~enc:version
|> mem "base_url" Jsont.string ~enc:base_url |> mem "base_url" Jsont.string ~enc:base_url