This commit is contained in:
swrup 2025-12-07 05:43:04 +01:00
parent 4fc9a96fde
commit 67f1862966
9 changed files with 122 additions and 122 deletions

View file

@ -325,7 +325,7 @@ module FutureSignKey = struct
stamp_start: Timestamp.t; stamp_start: Timestamp.t;
stamp_expire: Timestamp.t; stamp_expire: Timestamp.t;
stamp_end: Timestamp.t; stamp_end: Timestamp.t;
signkey_secmod_sig: SigningKeyAnnouncementPS.t; signkey_secmod_sig: SigningKeyAnnouncement.t;
} }
let jsont = let jsont =
@ -342,7 +342,7 @@ module FutureSignKey = struct
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start |> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire |> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire
|> mem "stamp_end" Timestamp.jsont ~enc:stamp_end |> mem "stamp_end" Timestamp.jsont ~enc:stamp_end
|> mem "signkey_secmod_sig" SigningKeyAnnouncementPS.jsont |> mem "signkey_secmod_sig" SigningKeyAnnouncement.jsont
~enc:signkey_secmod_sig ~enc:signkey_secmod_sig
|> finish |> finish
end end
@ -360,7 +360,7 @@ module FutureDenom = struct
fee_deposit: Amount.t; fee_deposit: Amount.t;
fee_refresh: Amount.t; fee_refresh: Amount.t;
fee_refund: Amount.t; fee_refund: Amount.t;
denom_secmod_sig: DenominationKeyAnnouncementPS.t; denom_secmod_sig: DenominationKeyAnnouncement.t;
} }
let jsont = let jsont =
@ -406,7 +406,7 @@ module FutureDenom = struct
|> mem "fee_deposit" Amount.jsont ~enc:fee_deposit |> mem "fee_deposit" Amount.jsont ~enc:fee_deposit
|> mem "fee_refresh" Amount.jsont ~enc:fee_refresh |> mem "fee_refresh" Amount.jsont ~enc:fee_refresh
|> mem "fee_refund" Amount.jsont ~enc:fee_refund |> mem "fee_refund" Amount.jsont ~enc:fee_refund
|> mem "denom_secmod_sig" DenominationKeyAnnouncementPS.jsont |> mem "denom_secmod_sig" DenominationKeyAnnouncement.jsont
~enc:denom_secmod_sig ~enc:denom_secmod_sig
|> finish |> finish
end end
@ -452,7 +452,7 @@ end
module SignKeySignature = struct module SignKeySignature = struct
type t = { type t = {
key: EddsaPublicKey.t; key: EddsaPublicKey.t;
master_sig: ExchangeSigningKeyValidityPS.t; master_sig: ExchangeSigningKeyValidity.t;
} }
let jsont = let jsont =
@ -461,14 +461,14 @@ module SignKeySignature = struct
let master_sig v = v.master_sig in let master_sig v = v.master_sig 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" ExchangeSigningKeyValidity.jsont ~enc:master_sig
|> finish |> finish
end end
module DenomSignature = struct module DenomSignature = struct
type t = { type t = {
h_denom_pub: HashCode.t; h_denom_pub: HashCode.t;
master_sig: DenominationKeyValidityPS.t; master_sig: DenominationKeyValidity.t;
} }
let jsont = let jsont =
@ -477,7 +477,7 @@ module DenomSignature = struct
let master_sig v = v.master_sig in let master_sig v = v.master_sig 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" DenominationKeyValidity.jsont ~enc:master_sig
|> finish |> finish
end end
@ -498,24 +498,24 @@ module MasterSignatures = struct
end end
module DenomRevocationSignature = struct module DenomRevocationSignature = struct
type t = { master_sig: MasterDenominationKeyRevocationPS.t } type t = { master_sig: MasterDenominationKeyRevocation.t }
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
map ~kind:"DenomRevocationSignature" make map ~kind:"DenomRevocationSignature" make
|> mem "master_sig" MasterDenominationKeyRevocationPS.jsont ~enc |> mem "master_sig" MasterDenominationKeyRevocation.jsont ~enc
|> finish |> finish
end end
module SignkeyRevocationSignature = struct module SignkeyRevocationSignature = struct
type t = { master_sig: MasterSigningKeyRevocationPS.t } type t = { master_sig: MasterSigningKeyRevocation.t }
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
map ~kind:"SignkeyRevocationSignature" make map ~kind:"SignkeyRevocationSignature" make
|> mem "master_sig" MasterSigningKeyRevocationPS.jsont ~enc |> mem "master_sig" MasterSigningKeyRevocation.jsont ~enc
|> finish |> finish
end end
@ -524,7 +524,7 @@ module AuditorSetupMessage = struct
auditor_url: string; auditor_url: string;
auditor_name: string; auditor_name: string;
auditor_pub: EddsaPublicKey.t; auditor_pub: EddsaPublicKey.t;
master_sig: MasterAddAuditorPS.t; master_sig: MasterAddAuditor.t;
(* TODO monotonic time (* TODO monotonic time
something about using monotonic system time here! *) something about using monotonic system time here! *)
validity_start: Timestamp.t; validity_start: Timestamp.t;
@ -543,14 +543,14 @@ module AuditorSetupMessage = struct
|> 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
|> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub |> mem "auditor_pub" EddsaPublicKey.jsont ~enc:auditor_pub
|> mem "master_sig" MasterAddAuditorPS.jsont ~enc:master_sig |> mem "master_sig" MasterAddAuditor.jsont ~enc:master_sig
|> mem "validity_start" Timestamp.jsont ~enc:validity_start |> mem "validity_start" Timestamp.jsont ~enc:validity_start
|> finish |> finish
end end
module AuditorTeardownMessage = struct module AuditorTeardownMessage = struct
type t = { type t = {
master_sig: MasterDelAuditorPS.t; master_sig: MasterDelAuditor.t;
(* TODO monotonic time *) (* TODO monotonic time *)
validity_end: Timestamp.t; validity_end: Timestamp.t;
} }
@ -560,7 +560,7 @@ module AuditorTeardownMessage = struct
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
map ~kind:"AuditorTeardownMessage" make map ~kind:"AuditorTeardownMessage" make
|> mem "master_sig" MasterDelAuditorPS.jsont ~enc:master_sig |> mem "master_sig" MasterDelAuditor.jsont ~enc:master_sig
|> mem "validity_end" Timestamp.jsont ~enc:validity_end |> mem "validity_end" Timestamp.jsont ~enc:validity_end
|> finish |> finish
end end
@ -571,7 +571,7 @@ module WireFeeSetupMessage = struct
(* TODO over which struct? (* TODO over which struct?
Signature using the exchange's offline key Signature using the exchange's offline key
with purpose TALER_SIGNATURE_MASTER_WIRE_FEES *) with purpose TALER_SIGNATURE_MASTER_WIRE_FEES *)
master_sig_wire: MasterWireFeePS.t; master_sig_wire: MasterWireFee.t;
fee_start: Amount.t; fee_start: Amount.t;
fee_end: Amount.t; fee_end: Amount.t;
closing_fee: Amount.t; closing_fee: Amount.t;
@ -598,7 +598,7 @@ module WireFeeSetupMessage = struct
let wire_fee v = v.wire_fee in let wire_fee v = v.wire_fee 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" MasterWireFee.jsont ~enc:master_sig_wire
|> mem "fee_start" Amount.jsont ~enc:fee_start |> mem "fee_start" Amount.jsont ~enc:fee_start
|> mem "fee_end" Amount.jsont ~enc:fee_end |> mem "fee_end" Amount.jsont ~enc:fee_end
|> mem "closing_fee" Amount.jsont ~enc:closing_fee |> mem "closing_fee" Amount.jsont ~enc:closing_fee
@ -617,7 +617,7 @@ module GlobalFees = struct
purse_account_limit: int; purse_account_limit: int;
purse_timeout: RelativeTime.t; purse_timeout: RelativeTime.t;
(* Signature of TALER_GlobalFeesPS. *) (* Signature of TALER_GlobalFeesPS. *)
master_sig: GlobalFeesPS.t; master_sig: GlobalFees.t;
} }
let jsont = let jsont =
@ -653,15 +653,15 @@ module GlobalFees = struct
|> mem "history_expiration" RelativeTime.jsont ~enc:history_expiration |> mem "history_expiration" RelativeTime.jsont ~enc:history_expiration
|> mem "purse_account_limit" Jsont.int ~enc:purse_account_limit |> mem "purse_account_limit" Jsont.int ~enc:purse_account_limit
|> mem "purse_timeout" RelativeTime.jsont ~enc:purse_timeout |> mem "purse_timeout" RelativeTime.jsont ~enc:purse_timeout
|> mem "master_sig" GlobalFeesPS.jsont ~enc:master_sig |> mem "master_sig" GlobalFees.jsont ~enc:master_sig
|> finish |> finish
end end
module WireSetupMessage = struct module WireSetupMessage = struct
type t = { type t = {
payto_uri: string; payto_uri: string;
master_sig_wire: MasterWireDetailsPS.t; master_sig_wire: MasterWireDetails.t;
master_sig_add: MasterAddWirePS.t; master_sig_add: MasterAddWire.t;
(* TODO monotonic time *) (* TODO monotonic time *)
validity_start: Timestamp.t; validity_start: Timestamp.t;
bank_label: string option; bank_label: string option;
@ -688,8 +688,8 @@ module WireSetupMessage = struct
let priority v = v.priority in let priority v = v.priority 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" MasterWireDetails.jsont ~enc:master_sig_wire
|> mem "master_sig_add" MasterAddWirePS.jsont ~enc:master_sig_add |> mem "master_sig_add" MasterAddWire.jsont ~enc:master_sig_add
|> mem "validity_start" Timestamp.jsont ~enc:validity_start |> mem "validity_start" Timestamp.jsont ~enc:validity_start
|> mem "bank_label" (Jsont.option Jsont.string) ~enc:bank_label |> mem "bank_label" (Jsont.option Jsont.string) ~enc:bank_label
|> mem "priority" (Jsont.option Jsont.int) ~enc:priority |> mem "priority" (Jsont.option Jsont.int) ~enc:priority
@ -699,7 +699,7 @@ end
module WireTeardownMessage = struct module WireTeardownMessage = struct
type t = { type t = {
payto_uri: string; payto_uri: string;
master_sig_del: MasterDelWirePS.t; master_sig_del: MasterDelWire.t;
(* TODO monotonic time *) (* TODO monotonic time *)
validity_end: Timestamp.t; validity_end: Timestamp.t;
} }
@ -713,7 +713,7 @@ module WireTeardownMessage = struct
let validity_end v = v.validity_end in let validity_end v = v.validity_end 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" MasterDelWire.jsont ~enc:master_sig_del
|> mem "validity_end" Timestamp.jsont ~enc:validity_end |> mem "validity_end" Timestamp.jsont ~enc:validity_end
|> finish |> finish
end end
@ -723,7 +723,7 @@ module DrainProfitsMessage = struct
debit_account_section: string; debit_account_section: string;
credit_payto_uri: string; credit_payto_uri: string;
wtid: B32.t; wtid: B32.t;
master_sig: MasterDrainProfitPS.t; master_sig: MasterDrainProfit.t;
date: Timestamp.t; date: Timestamp.t;
amount: Amount.t; amount: Amount.t;
} }
@ -750,7 +750,7 @@ module DrainProfitsMessage = struct
|> 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
|> mem "wtid" B32.jsont ~enc:wtid |> mem "wtid" B32.jsont ~enc:wtid
|> mem "master_sig" MasterDrainProfitPS.jsont ~enc:master_sig |> mem "master_sig" MasterDrainProfit.jsont ~enc:master_sig
|> mem "date" Timestamp.jsont ~enc:date |> mem "date" Timestamp.jsont ~enc:date
|> mem "amount" Amount.jsont ~enc:amount |> mem "amount" Amount.jsont ~enc:amount
|> finish |> finish
@ -762,7 +762,7 @@ module AmlOfficerSetup = struct
officer_name: string; officer_name: string;
is_active: bool; is_active: bool;
read_only: bool; read_only: bool;
master_sig: MasterAmlOfficerStatusPS.t; master_sig: MasterAmlOfficerStatus.t;
change_date: Timestamp.t; change_date: Timestamp.t;
} }
@ -789,7 +789,7 @@ module AmlOfficerSetup = struct
|> mem "officer_name" Jsont.string ~enc:officer_name |> mem "officer_name" Jsont.string ~enc:officer_name
|> mem "is_active" Jsont.bool ~enc:is_active |> mem "is_active" Jsont.bool ~enc:is_active
|> mem "read_only" Jsont.bool ~enc:read_only |> mem "read_only" Jsont.bool ~enc:read_only
|> mem "master_sig" MasterAmlOfficerStatusPS.jsont ~enc:master_sig |> mem "master_sig" MasterAmlOfficerStatus.jsont ~enc:master_sig
|> mem "change_date" Timestamp.jsont ~enc:change_date |> mem "change_date" Timestamp.jsont ~enc:change_date
|> finish |> finish
end end
@ -799,7 +799,7 @@ module ExchangePartnerSetupRequest = struct
partner_base_url: string; partner_base_url: string;
partner_pub: EddsaPublicKey.t; partner_pub: EddsaPublicKey.t;
wad_frequency: RelativeTime.t; wad_frequency: RelativeTime.t;
master_sig: PartnerConfigurationPS.t; master_sig: PartnerConfiguration.t;
start_date: Timestamp.t; start_date: Timestamp.t;
end_date: Timestamp.t; end_date: Timestamp.t;
wad_fee: Amount.t; wad_fee: Amount.t;
@ -829,7 +829,7 @@ module ExchangePartnerSetupRequest = struct
|> 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
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency |> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|> mem "master_sig" PartnerConfigurationPS.jsont ~enc:master_sig |> mem "master_sig" PartnerConfiguration.jsont ~enc:master_sig
|> 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
|> mem "wad_fee" Amount.jsont ~enc:wad_fee |> mem "wad_fee" Amount.jsont ~enc:wad_fee
@ -846,7 +846,7 @@ module ExchangePartnerListEntry = struct
wad_frequency: RelativeTime.t; wad_frequency: RelativeTime.t;
start_date: Timestamp.t; start_date: Timestamp.t;
end_date: Timestamp.t; end_date: Timestamp.t;
master_sig: WadPartnerSignaturePS.t; master_sig: WadPartnerSignature.t;
} }
let jsont = let jsont =
@ -876,7 +876,7 @@ module ExchangePartnerListEntry = struct
|> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency |> mem "wad_frequency" RelativeTime.jsont ~enc:wad_frequency
|> 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
|> mem "master_sig" WadPartnerSignaturePS.jsont ~enc:master_sig |> mem "master_sig" WadPartnerSignature.jsont ~enc:master_sig
|> finish |> finish
end end
@ -886,7 +886,7 @@ module AggregateTransferFee = struct
closing_fee: Amount.t; closing_fee: Amount.t;
start_date: Timestamp.t; start_date: Timestamp.t;
end_date: Timestamp.t; end_date: Timestamp.t;
sig_: MasterWireFeePS.t; sig_: MasterWireFee.t;
} }
let jsont = let jsont =
@ -903,14 +903,14 @@ module AggregateTransferFee = struct
|> mem "closing_fee" Amount.jsont ~enc:closing_fee |> mem "closing_fee" Amount.jsont ~enc:closing_fee
|> 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
|> mem "sig" MasterWireFeePS.jsont ~enc:sig_ |> mem "sig" MasterWireFee.jsont ~enc:sig_
|> finish |> finish
end end
module AuditorDenominationKey = struct module AuditorDenominationKey = struct
type t = { type t = {
denom_pub_h: HashCode.t; denom_pub_h: HashCode.t;
auditor_sig: ExchangeKeyValidityPS.t; auditor_sig: ExchangeKeyValidity.t;
} }
let jsont = let jsont =
@ -919,7 +919,7 @@ module AuditorDenominationKey = struct
let auditor_sig v = v.auditor_sig in let auditor_sig v = v.auditor_sig 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" ExchangeKeyValidity.jsont ~enc:auditor_sig
|> finish |> finish
end end
@ -955,7 +955,7 @@ module SignKey = struct
stamp_start: Timestamp.t; stamp_start: Timestamp.t;
stamp_expire: Timestamp.t; stamp_expire: Timestamp.t;
stamp_end: Timestamp.t; stamp_end: Timestamp.t;
master_sig: ExchangeSigningKeyValidityPS.t; master_sig: ExchangeSigningKeyValidity.t;
} }
let jsont = let jsont =
@ -972,7 +972,7 @@ module SignKey = struct
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start |> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire |> mem "stamp_expire" Timestamp.jsont ~enc:stamp_expire
|> mem "stamp_end" Timestamp.jsont ~enc:stamp_end |> mem "stamp_end" Timestamp.jsont ~enc:stamp_end
|> mem "master_sig" ExchangeSigningKeyValidityPS.jsont ~enc:master_sig |> mem "master_sig" ExchangeSigningKeyValidity.jsont ~enc:master_sig
|> finish |> finish
end end
@ -991,7 +991,7 @@ module RsaDenom = struct
(* correspond to: ({ rsa_pub: RsaPublicKey;} & DenomCommon) *) (* correspond to: ({ rsa_pub: RsaPublicKey;} & DenomCommon) *)
type t = { type t = {
rsa_pub: RsaPublicKey.t; rsa_pub: RsaPublicKey.t;
master_sig: DenominationKeyValidityPS.t; master_sig: DenominationKeyValidity.t;
stamp_start: Timestamp.t; stamp_start: Timestamp.t;
stamp_expire_withdraw: Timestamp.t; stamp_expire_withdraw: Timestamp.t;
stamp_expire_deposit: Timestamp.t; stamp_expire_deposit: Timestamp.t;
@ -1021,7 +1021,7 @@ module RsaDenom = struct
let lost v = v.lost in let lost v = v.lost 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" DenominationKeyValidity.jsont ~enc:master_sig
|> mem "stamp_start" Timestamp.jsont ~enc:stamp_start |> mem "stamp_start" Timestamp.jsont ~enc:stamp_start
|> mem "stamp_expire_withdraw" Timestamp.jsont ~enc:stamp_expire_withdraw |> mem "stamp_expire_withdraw" Timestamp.jsont ~enc:stamp_expire_withdraw
|> mem "stamp_expire_deposit" Timestamp.jsont ~enc:stamp_expire_deposit |> mem "stamp_expire_deposit" Timestamp.jsont ~enc:stamp_expire_deposit
@ -1173,7 +1173,7 @@ module ExchangeWireAccount = struct
conversion_url: string option; conversion_url: string option;
credit_restrictions: AccountRestriction.t list; credit_restrictions: AccountRestriction.t list;
debit_restrictions: AccountRestriction.t list; debit_restrictions: AccountRestriction.t list;
master_sig: MasterWireDetailsPS.t; master_sig: MasterWireDetails.t;
bank_label: string option; bank_label: string option;
priority: int option; priority: int option;
} }
@ -1207,7 +1207,7 @@ module ExchangeWireAccount = struct
|> mem "debit_restrictions" |> mem "debit_restrictions"
(Jsont.list AccountRestriction.jsont) (Jsont.list AccountRestriction.jsont)
~enc:debit_restrictions ~enc:debit_restrictions
|> mem "master_sig" MasterWireDetailsPS.jsont ~enc:master_sig |> mem "master_sig" MasterWireDetails.jsont ~enc:master_sig
|> opt_mem "bank_label" Jsont.string ~enc:bank_label |> opt_mem "bank_label" Jsont.string ~enc:bank_label
|> opt_mem "priority" Jsont.int ~enc:priority |> opt_mem "priority" Jsont.int ~enc:priority
|> finish |> finish
@ -1264,7 +1264,7 @@ module ExchangeKeysResponse = struct
contatentation of all of the master_sigs (in reverse contatentation of all of the master_sigs (in reverse
chronological order by group) in the arrays under chronological order by group) in the arrays under
"denominations" *) "denominations" *)
exchange_sig: ExchangeKeySetPS.t; exchange_sig: ExchangeKeySet.t;
exchange_pub: EddsaPublicKey.t; exchange_pub: EddsaPublicKey.t;
recoup: RecoupDenoms.t list; recoup: RecoupDenoms.t list;
global_fees: GlobalFees.t list; global_fees: GlobalFees.t list;
@ -1390,7 +1390,7 @@ module ExchangeKeysResponse = struct
(Jsont.list ZeroLimitedOperation.jsont) (Jsont.list ZeroLimitedOperation.jsont)
~enc:zero_limits ~enc:zero_limits
|> mem "denominations" (Jsont.list DenomGroup.jsont) ~enc:denominations |> mem "denominations" (Jsont.list DenomGroup.jsont) ~enc:denominations
|> mem "exchange_sig" ExchangeKeySetPS.jsont ~enc:exchange_sig |> mem "exchange_sig" ExchangeKeySet.jsont ~enc:exchange_sig
|> mem "exchange_pub" EddsaPublicKey.jsont ~enc:exchange_pub |> mem "exchange_pub" EddsaPublicKey.jsont ~enc:exchange_pub
|> mem "recoup" (Jsont.list RecoupDenoms.jsont) ~enc:recoup |> mem "recoup" (Jsont.list RecoupDenoms.jsont) ~enc:recoup
|> mem "global_fees" (Jsont.list GlobalFees.jsont) ~enc:global_fees |> mem "global_fees" (Jsont.list GlobalFees.jsont) ~enc:global_fees

View file

@ -75,7 +75,7 @@ end = struct
octets octets
end end
module DenominationKeyAnnouncementPS = struct module DenominationKeyAnnouncement = struct
module R = struct module R = struct
(* TODO taler_signatures purpose (* TODO taler_signatures purpose
we use TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY instead here *) we use TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY instead here *)
@ -107,7 +107,7 @@ module DenominationKeyAnnouncementPS = struct
include MK (R) include MK (R)
end end
module SigningKeyAnnouncementPS = struct module SigningKeyAnnouncement = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_SM_SIGNING_KEY *) (* purpose.purpose = TALER_SIGNATURE_SM_SIGNING_KEY *)
type r = { type r = {
@ -132,7 +132,7 @@ module SigningKeyAnnouncementPS = struct
include MK (R) include MK (R)
end end
module DenominationKeyValidityPS = struct module DenominationKeyValidity = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *) (* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *)
type r = { type r = {
@ -196,7 +196,7 @@ module DenominationKeyValidityPS = struct
include MK (R) include MK (R)
end end
module ExchangeSigningKeyValidityPS = struct module ExchangeSigningKeyValidity = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *) (* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *)
type r = { type r = {
@ -224,7 +224,7 @@ module ExchangeSigningKeyValidityPS = struct
include MK (R) include MK (R)
end end
module MasterDenominationKeyRevocationPS = struct module MasterDenominationKeyRevocation = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED. *) (* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED. *)
type r = { h_denom_pub: DenominationHash.t } type r = { h_denom_pub: DenominationHash.t }
@ -243,7 +243,7 @@ module MasterDenominationKeyRevocationPS = struct
include MK (R) include MK (R)
end end
module MasterSigningKeyRevocationPS = struct module MasterSigningKeyRevocation = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *) (* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *)
type r = { exchange_pub: ExchangePublicKeyP.t } type r = { exchange_pub: ExchangePublicKeyP.t }
@ -262,7 +262,7 @@ module MasterSigningKeyRevocationPS = struct
include MK (R) include MK (R)
end end
module MasterAddAuditorPS = struct module MasterAddAuditor = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *) (* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *)
type r = { type r = {
@ -287,7 +287,7 @@ module MasterAddAuditorPS = struct
include MK (R) include MK (R)
end end
module MasterDelAuditorPS = struct module MasterDelAuditor = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_AUDITOR *) (* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_AUDITOR *)
type r = { type r = {
@ -309,7 +309,7 @@ module MasterDelAuditorPS = struct
include MK (R) include MK (R)
end end
module GlobalFeesPS = struct module GlobalFees = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_GLOBAL_FEES *) (* purpose.purpose = TALER_SIGNATURE_MASTER_GLOBAL_FEES *)
type r = { type r = {
@ -372,7 +372,7 @@ module GlobalFeesPS = struct
include MK (R) include MK (R)
end end
module MasterWireDetailsPS = struct module MasterWireDetails = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_DETAILS *) (* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_DETAILS *)
type r = { type r = {
@ -411,7 +411,7 @@ module MasterWireDetailsPS = struct
include MK (R) include MK (R)
end end
module MasterAddWirePS = struct module MasterAddWire = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_WIRE *) (* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_WIRE *)
type r = { type r = {
@ -454,7 +454,7 @@ module MasterAddWirePS = struct
include MK (R) include MK (R)
end end
module MasterDelWirePS = struct module MasterDelWire = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_WIRE *) (* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_WIRE *)
type r = { type r = {
@ -476,7 +476,7 @@ module MasterDelWirePS = struct
include MK (R) include MK (R)
end end
module MasterDrainProfitPS = struct module MasterDrainProfit = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DRAIN_PROFITS *) (* purpose.purpose = TALER_SIGNATURE_MASTER_DRAIN_PROFITS *)
type r = { type r = {
@ -505,7 +505,7 @@ module MasterDrainProfitPS = struct
include MK (R) include MK (R)
end end
module MasterAmlOfficerStatusPS = struct module MasterAmlOfficerStatus = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_AML_KEY *) (* purpose.purpose = TALER_SIGNATURE_MASTER_AML_KEY *)
type r = { type r = {
@ -532,7 +532,7 @@ module MasterAmlOfficerStatusPS = struct
include MK (R) include MK (R)
end end
module PartnerConfigurationPS = struct module PartnerConfiguration = struct
module R = struct module R = struct
(* TODO purpose (* TODO purpose
this purpose is used 2 times!? *) this purpose is used 2 times!? *)
@ -574,7 +574,7 @@ module PartnerConfigurationPS = struct
include MK (R) include MK (R)
end end
module WadPartnerSignaturePS = struct module WadPartnerSignature = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARTNER_DETAILS *) (* purpose.purpose = TALER_SIGNATURE_MASTER_PARTNER_DETAILS *)
type r = { type r = {
@ -622,7 +622,7 @@ module WadPartnerSignaturePS = struct
include MK (R) include MK (R)
end end
module MasterWireFeePS = struct module MasterWireFee = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_FEES *) (* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_FEES *)
type r = { type r = {
@ -652,7 +652,7 @@ module MasterWireFeePS = struct
include MK (R) include MK (R)
end end
module ExchangeKeyValidityPS = struct module ExchangeKeyValidity = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS *) (* purpose.purpose = TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS *)
type r = { type r = {
@ -719,7 +719,7 @@ module ExchangeKeyValidityPS = struct
include MK (R) include MK (R)
end end
module ExchangeKeySetPS = struct module ExchangeKeySet = struct
module R = struct module R = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_KEY_SET *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_KEY_SET *)
type r = { type r = {
@ -743,7 +743,7 @@ end
(* ### BIN IMPL END ### *) (* ### BIN IMPL END ### *)
module WithdrawRequestPS = struct module WithdrawRequest = struct
(* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *) (* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
type t = { type t = {
amount: Amount.t; amount: Amount.t;
@ -770,7 +770,7 @@ module WithdrawRequestPS = struct
|> sealr |> sealr
end end
module WithdrawConfirmationPS = struct module WithdrawConfirmation = struct
(* Purpose is #TALER_SIGNATURE_EXCHANGE_CONFIRM_WITHDRAW. (* Purpose is #TALER_SIGNATURE_EXCHANGE_CONFIRM_WITHDRAW.
Signed by a `struct TALER_ExchangePrivateKeyP` using EdDSA. *) Signed by a `struct TALER_ExchangePrivateKeyP` using EdDSA. *)
type t = { type t = {
@ -792,7 +792,7 @@ module WithdrawConfirmationPS = struct
|> sealr |> sealr
end end
module SingleWithdrawRequestPS = struct module SingleWithdrawRequest = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *) (* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
type t = { type t = {
amount_with_fee: AmountNBO.t; amount_with_fee: AmountNBO.t;
@ -801,7 +801,7 @@ module SingleWithdrawRequestPS = struct
} }
end end
module DepositRequestPS = struct module DepositRequest = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_DEPOSIT *) (* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_DEPOSIT *)
type t = { type t = {
h_contract_terms: PrivateContractHash.t; h_contract_terms: PrivateContractHash.t;
@ -818,7 +818,7 @@ module DepositRequestPS = struct
} }
end end
module DepositConfirmationPS = struct module DepositConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_DEPOSIT *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_DEPOSIT *)
type t = { type t = {
h_contract_terms: PrivateContractHash.t; h_contract_terms: PrivateContractHash.t;
@ -832,7 +832,7 @@ module DepositConfirmationPS = struct
} }
end end
module RefreshMeltCoinAffirmationPS = struct module RefreshMeltCoinAffirmation = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *) (* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *)
type t = { type t = {
session_hash: RefreshCommitmentP.t; session_hash: RefreshCommitmentP.t;
@ -843,7 +843,7 @@ module RefreshMeltCoinAffirmationPS = struct
} }
end end
module RefreshMeltConfirmationPS = struct module RefreshMeltConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT *)
type t = { type t = {
session_hash: RefreshCommitmentP.t; session_hash: RefreshCommitmentP.t;
@ -851,7 +851,7 @@ module RefreshMeltConfirmationPS = struct
} }
end end
module DepositTrackPS = struct module DepositTrack = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_TRACK_TRANSACTION *) (* purpose.purpose = TALER_SIGNATURE_MERCHANT_TRACK_TRANSACTION *)
type t = { type t = {
h_contract_terms: PrivateContractHash.t; h_contract_terms: PrivateContractHash.t;
@ -870,7 +870,7 @@ module WireDepositDetailP = struct
} }
end end
module WireDepositDataPS = struct module WireDepositData = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT *)
type t = { type t = {
total: AmountNBO.t; total: AmountNBO.t;
@ -881,17 +881,17 @@ module WireDepositDataPS = struct
} }
end end
module PaymentResponsePS = struct module PaymentResponse = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_PAYMENT_OK *) (* purpose.purpose = TALER_SIGNATURE_MERCHANT_PAYMENT_OK *)
type t = { h_contract_terms: PrivateContractHash.t } type t = { h_contract_terms: PrivateContractHash.t }
end end
module ContractPS = struct module Contract = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_CONTRACT *) (* purpose.purpose = TALER_SIGNATURE_MERCHANT_CONTRACT *)
type t = { h_contract_terms: PrivateContractHash.t } type t = { h_contract_terms: PrivateContractHash.t }
end end
module ConfirmWirePS = struct module ConfirmWire = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE *)
type t = { type t = {
h_wire: MerchantWireHash.t; h_wire: MerchantWireHash.t;
@ -903,7 +903,7 @@ module ConfirmWirePS = struct
} }
end end
module RefundConfirmationPS = struct module RefundConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_REFUND *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_REFUND *)
type t = { type t = {
h_contract_terms: PrivateContractHash.t; h_contract_terms: PrivateContractHash.t;
@ -924,7 +924,7 @@ module DepositTrackPS2 = struct
} }
end end
module RefundRequestPS = struct module RefundRequest = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND *) (* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND *)
type t = { type t = {
h_contract_terms: PrivateContractHash.t; h_contract_terms: PrivateContractHash.t;
@ -935,13 +935,13 @@ module RefundRequestPS = struct
} }
end end
module MerchantRefundConfirmationPS = struct module MerchantRefundConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND_OK *) (* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND_OK *)
(* Hash of the order ID (a string), hashed without the 0-termination. *) (* Hash of the order ID (a string), hashed without the 0-termination. *)
type t = { h_order_id: Hash_64_cstr.t } type t = { h_order_id: Hash_64_cstr.t }
end end
module RecoupRequestPS = struct module RecoupRequest = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_RECOUP or TALER_SIGNATURE_WALLET_COIN_RECOUP_REFRESH *) (* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_RECOUP or TALER_SIGNATURE_WALLET_COIN_RECOUP_REFRESH *)
type t = { type t = {
h_denom_pub: DenominationHash.t; h_denom_pub: DenominationHash.t;
@ -949,7 +949,7 @@ module RecoupRequestPS = struct
} }
end end
module RecoupRefreshConfirmationPS = struct module RecoupRefreshConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP_REFRESH *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP_REFRESH *)
type t = { type t = {
timestamp: TimeAbsoluteNBO.t; timestamp: TimeAbsoluteNBO.t;
@ -959,7 +959,7 @@ module RecoupRefreshConfirmationPS = struct
} }
end end
module RecoupConfirmationPS = struct module RecoupConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP *)
type t = { type t = {
timestamp: TimeAbsoluteNBO.t; timestamp: TimeAbsoluteNBO.t;
@ -969,7 +969,7 @@ module RecoupConfirmationPS = struct
} }
end end
module DenominationUnknownAffirmationPS = struct module DenominationUnknownAffirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_AFFIRM_DENOM_UNKNOWN *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_AFFIRM_DENOM_UNKNOWN *)
type t = { type t = {
timestamp: TimeAbsoluteNBO.t; timestamp: TimeAbsoluteNBO.t;
@ -977,7 +977,7 @@ module DenominationUnknownAffirmationPS = struct
} }
end end
module DenominationExpiredAffirmationPS = struct module DenominationExpiredAffirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_GENERIC_DENOMINATIN_EXPIRED *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_GENERIC_DENOMINATIN_EXPIRED *)
type t = { type t = {
timestamp: TimeAbsoluteNBO.t; timestamp: TimeAbsoluteNBO.t;
@ -986,7 +986,7 @@ module DenominationExpiredAffirmationPS = struct
} }
end end
module ReserveCloseConfirmationPS = struct module ReserveCloseConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_CLOSED *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_CLOSED *)
type t = { type t = {
timestamp: TimeAbsoluteNBO.t; timestamp: TimeAbsoluteNBO.t;
@ -996,7 +996,7 @@ module ReserveCloseConfirmationPS = struct
} }
end end
module CoinLinkSignaturePS = struct module CoinLinkSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *) (* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
type t = { type t = {
h_denom_pub: DenominationHash.t; h_denom_pub: DenominationHash.t;
@ -1006,17 +1006,17 @@ module CoinLinkSignaturePS = struct
} }
end end
module RefreshNonceSignaturePS = struct module RefreshNonceSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *) (* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
type t = { nonce: PublicRefreshCoinNonceP.t } type t = { nonce: PublicRefreshCoinNonceP.t }
end end
module ReserveStatusRequestSignaturePS = struct module ReserveStatusRequestSignature = struct
(* purpose.purpose = TALER_SIGNATURE_RESERVE_STATUS_REQUEST *) (* purpose.purpose = TALER_SIGNATURE_RESERVE_STATUS_REQUEST *)
type t = { request_timestamp: TimeAbsoluteNBO.t } type t = { request_timestamp: TimeAbsoluteNBO.t }
end end
module ReserveHistoryRequestSignaturePS = struct module ReserveHistoryRequestSignature = struct
(* purpose.purpose = TALER_SIGNATURE_RESERVE_HISTORY_REQUEST *) (* purpose.purpose = TALER_SIGNATURE_RESERVE_HISTORY_REQUEST *)
type t = { type t = {
history_fee: AmountNBO.t; history_fee: AmountNBO.t;
@ -1024,12 +1024,12 @@ module ReserveHistoryRequestSignaturePS = struct
} }
end end
module PurseStatusRequestSignaturePS = struct module PurseStatusRequestSignature = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_REQUEST *) (* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_REQUEST *)
type t = unit type t = unit
end end
module PurseStatusResponseSignaturePS = struct module PurseStatusResponseSignature = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_RESPONSE *) (* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_RESPONSE *)
type t = { type t = {
total_purse_amount: AmountNBO.t; total_purse_amount: AmountNBO.t;
@ -1041,12 +1041,12 @@ module PurseStatusResponseSignaturePS = struct
} }
end end
module ReserveCloseRequestSignaturePS = struct module ReserveCloseRequestSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *) (* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
type t = unit type t = unit
end end
module PurseRequestSignaturePS = struct module PurseRequestSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_CREATE *) (* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_CREATE *)
type t = { type t = {
purse_expiration: TimeAbsoluteNBO.t; purse_expiration: TimeAbsoluteNBO.t;
@ -1056,7 +1056,7 @@ module PurseRequestSignaturePS = struct
} }
end end
module PurseDepositSignaturePS = struct module PurseDepositSignature = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT *) (* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT *)
type t = { type t = {
coin_contribution: AmountNBO.t; coin_contribution: AmountNBO.t;
@ -1075,7 +1075,7 @@ module PurseDepositSignaturePS2 = struct
} }
end end
module PurseDepositConfirmedSignaturePS = struct module PurseDepositConfirmedSignature = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT_CONFIRMED *) (* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT_CONFIRMED *)
type t = { type t = {
total_purse_amount: AmountNBO.t; total_purse_amount: AmountNBO.t;
@ -1086,7 +1086,7 @@ module PurseDepositConfirmedSignaturePS = struct
} }
end end
module PurseMergeSignaturePS = struct module PurseMergeSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_MERGE *) (* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_MERGE *)
type t = { type t = {
merge_timestamp: TimeAbsoluteNBO.t; merge_timestamp: TimeAbsoluteNBO.t;
@ -1094,7 +1094,7 @@ module PurseMergeSignaturePS = struct
} }
end end
module AccountMergeSignaturePS = struct module AccountMergeSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_MERGE *) (* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_MERGE *)
type t = { type t = {
reserve_pub: ReservePublicKeyP.t; reserve_pub: ReservePublicKeyP.t;
@ -1107,12 +1107,12 @@ module AccountMergeSignaturePS = struct
} }
end end
module AccountSetupRequestSignaturePS = struct module AccountSetupRequestSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_SETUP *) (* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_SETUP *)
type t = { threshold: AmountNBO.t } type t = { threshold: AmountNBO.t }
end end
module PurseMergeSuccessSignaturePS = struct module PurseMergeSuccessSignature = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_MERGE_SUCCESS *) (* purpose.purpose = TALER_SIGNATURE_PURSE_MERGE_SUCCESS *)
type t = { type t = {
reserve_pub: ReservePublicKeyP.t; reserve_pub: ReservePublicKeyP.t;
@ -1125,7 +1125,7 @@ module PurseMergeSuccessSignaturePS = struct
} }
end end
module WadDataSignaturePS = struct module WadDataSignature = struct
(* purpose.purpose = TALER_SIGNATURE_WAD_DATA *) (* purpose.purpose = TALER_SIGNATURE_WAD_DATA *)
type t = { type t = {
wad_execution_time: TimeAbsoluteNBO.t; wad_execution_time: TimeAbsoluteNBO.t;
@ -1135,7 +1135,7 @@ module WadDataSignaturePS = struct
} }
end end
module P2PFeesPS = struct module P2PFees = struct
(* purpose.purpose = TALER_SIGNATURE_P2P_FEES *) (* purpose.purpose = TALER_SIGNATURE_P2P_FEES *)
type t = { type t = {
start_date: TimeAbsoluteNBO.t; start_date: TimeAbsoluteNBO.t;
@ -1150,7 +1150,7 @@ module P2PFeesPS = struct
} }
end end
module CoinPurseRefundConfirmationPS = struct module CoinPurseRefundConfirmation = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_PURSE_REFUND *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_PURSE_REFUND *)
type t = { type t = {
purse_pub: PursePublicKey.t; purse_pub: PursePublicKey.t;
@ -1160,7 +1160,7 @@ module CoinPurseRefundConfirmationPS = struct
} }
end end
module AmlDecisionPS = struct module AmlDecision = struct
(* purpose.purpose = TALER_SIGNATURE_AML_DECISION *) (* purpose.purpose = TALER_SIGNATURE_AML_DECISION *)
type t = { type t = {
h_justification: Hash_64_cstr.t; h_justification: Hash_64_cstr.t;
@ -1172,7 +1172,7 @@ module AmlDecisionPS = struct
} }
end end
module ReserveOpenPS = struct module ReserveOpen = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *) (* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *)
type t = { type t = {
reserve_payment: AmountNBO.t; reserve_payment: AmountNBO.t;
@ -1182,7 +1182,7 @@ module ReserveOpenPS = struct
} }
end end
module ReserveClosePS = struct module ReserveClose = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *) (* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
type t = { type t = {
request_timestamp: TimestampNBO.t; request_timestamp: TimestampNBO.t;
@ -1190,7 +1190,7 @@ module ReserveClosePS = struct
} }
end end
module ReserveAttestRequestPS = struct module ReserveAttestRequest = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_ATTEST_REQUEST *) (* purpose.purpose = TALER_SIGNATURE_WALLET_ATTEST_REQUEST *)
type t = { type t = {
request_timestamp: TimestampNBO.t; request_timestamp: TimestampNBO.t;
@ -1198,7 +1198,7 @@ module ReserveAttestRequestPS = struct
} }
end end
module ExchangeAttestPS = struct module ExchangeAttest = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS *) (* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS *)
type t = { type t = {
attest_timestamp: TimestampNBO.t; attest_timestamp: TimestampNBO.t;

View file

@ -15,7 +15,7 @@ type t = {
fee_refund: Amount.t; fee_refund: Amount.t;
age_mask: int; age_mask: int;
h_pub: Bin_type.DenominationHash.t; h_pub: Bin_type.DenominationHash.t;
master_sig: Bin_sig.DenominationKeyValidityPS.t option; master_sig: Bin_sig.DenominationKeyValidity.t option;
} }
let make let make

View file

@ -23,7 +23,7 @@ let mk_future_denom ~sm_denom_priv
DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub } DenominationKey.of_rsa RsaDenominationKey.{ age_mask; rsa_pub= pub }
in in
let denom_secmod_sig = let denom_secmod_sig =
let open Bin_sig.DenominationKeyAnnouncementPS in let open Bin_sig.DenominationKeyAnnouncement in
let h_denom_pub = h_pub in let h_denom_pub = h_pub in
let h_section_name = Bin_type.Hash_64_cstr.hash section_name in let h_section_name = Bin_type.Hash_64_cstr.hash section_name in
let anchor_time = stamp_start in let anchor_time = stamp_start in
@ -53,7 +53,7 @@ let mk_future_signkey ~sm_signkey_priv
({ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig= _ } : ({ pub; priv= _; stamp_start; stamp_expire; stamp_end; master_sig= _ } :
Signkey.t) = Signkey.t) =
let signkey_secmod_sig = let signkey_secmod_sig =
let open Bin_sig.SigningKeyAnnouncementPS in let open Bin_sig.SigningKeyAnnouncement in
let exchange_pub = pub in let exchange_pub = pub in
let anchor_time = stamp_start in let anchor_time = stamp_start in
let duration = let duration =
@ -112,7 +112,7 @@ let verify_denom_signature ~sm_denom DenomSignature.{ h_denom_pub; master_sig }
is unknown to the exchange." is unknown to the exchange."
| Some denom -> Ok denom | Some denom -> Ok denom
in in
let open Bin_sig.DenominationKeyValidityPS in let open Bin_sig.DenominationKeyValidity in
let r : r = let r : r =
{ {
master= Config.master_public_key; master= Config.master_public_key;
@ -141,7 +141,7 @@ let verify_signkey_signature ~sm_signkey SignKeySignature.{ key; master_sig } =
is unknown to the exchange." is unknown to the exchange."
| Some signkey -> Ok signkey | Some signkey -> Ok signkey
in in
let open Bin_sig.ExchangeSigningKeyValidityPS in let open Bin_sig.ExchangeSigningKeyValidity in
let r : r = let r : r =
{ {
start= signkey.stamp_start; start= signkey.stamp_start;

View file

@ -99,7 +99,7 @@ let lookup_signing_key =
let activate_signing_key = let activate_signing_key =
let insert_signkey = let insert_signkey =
let master_sig = Bin_sig.ExchangeSigningKeyValidityPS.caqti in let master_sig = Bin_sig.ExchangeSigningKeyValidity.caqti in
Caqti_type.(t5 eddsa_public time time time master_sig ->. unit) Caqti_type.(t5 eddsa_public time time time master_sig ->. unit)
"INSERT INTO exchange_sign_keys (exchange_pub, valid_from, expire_sign, \ "INSERT INTO exchange_sign_keys (exchange_pub, valid_from, expire_sign, \
expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)" expire_legal, master_sig) VALUES ($1, $2, $3, $4, $5)"
@ -136,7 +136,7 @@ let lookup_denomination_key =
let add_denomination_key = let add_denomination_key =
let denomination_insert = let denomination_insert =
let master_sig = Bin_sig.DenominationKeyValidityPS.caqti in let master_sig = Bin_sig.DenominationKeyValidity.caqti in
Caqti_type.( Caqti_type.(
t12 denomination_hash rsa_public master_sig time time time time amount t12 denomination_hash rsa_public master_sig time time time time amount
amount amount amount (t2 amount age_mask) amount amount amount (t2 amount age_mask)

View file

@ -6,7 +6,7 @@ val get_denoms : t -> Denomination.t list
val add_master_signatures : val add_master_signatures :
(module Pg.CONN) -> (module Pg.CONN) ->
t -> t ->
(Bin_type.DenominationHash.t * Bin_sig.DenominationKeyValidityPS.t) list -> (Bin_type.DenominationHash.t * Bin_sig.DenominationKeyValidity.t) list ->
(unit, string) result (unit, string) result
val init : (module Pg.CONN) -> t val init : (module Pg.CONN) -> t

View file

@ -6,7 +6,7 @@ val get_signkeys : t -> Signkey.t list
val add_master_signatures : val add_master_signatures :
(module Pg.CONN) -> (module Pg.CONN) ->
t -> t ->
(Crypto.EddsaPublicKey.t * Bin_sig.ExchangeSigningKeyValidityPS.t) list -> (Crypto.EddsaPublicKey.t * Bin_sig.ExchangeSigningKeyValidity.t) list ->
(unit, string) result (unit, string) result
val init : (module Pg.CONN) -> t val init : (module Pg.CONN) -> t

View file

@ -8,7 +8,7 @@ type t = {
stamp_start: Timestamp.t; stamp_start: Timestamp.t;
stamp_expire: Timestamp.t; stamp_expire: Timestamp.t;
stamp_end: Timestamp.t; stamp_end: Timestamp.t;
master_sig: Bin_sig.ExchangeSigningKeyValidityPS.t option; master_sig: Bin_sig.ExchangeSigningKeyValidity.t option;
} }
let make () = let make () =

View file

@ -21,7 +21,7 @@ let denom_signature ~master_key
let octets = DenominationKey.to_octets denom_pub in let octets = DenominationKey.to_octets denom_pub in
let h_denom_pub = HashCode.hash octets in let h_denom_pub = HashCode.hash octets in
let master_sig = let master_sig =
let open Bin_sig.DenominationKeyValidityPS in let open Bin_sig.DenominationKeyValidity in
let master = EddsaPrivateKey.(pub_of_priv master_key) in let master = EddsaPrivateKey.(pub_of_priv master_key) in
let denom_hash = DenominationHash.hash octets in let denom_hash = DenominationHash.hash octets in
sign ~key:master_key sign ~key:master_key
@ -44,7 +44,7 @@ let signkey_signature ~master_key
FutureSignKey. FutureSignKey.
{ key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } = { key; stamp_start; stamp_expire; stamp_end; signkey_secmod_sig= _ } =
let master_sig = let master_sig =
let open Bin_sig.ExchangeSigningKeyValidityPS in let open Bin_sig.ExchangeSigningKeyValidity in
sign ~key:master_key sign ~key:master_key
{ {
start= stamp_start; start= stamp_start;
@ -78,7 +78,7 @@ let verify_future_signkey ~sm_signkey_pub
let duration = let duration =
Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn Timestamp.diff stamp_start stamp_expire |> Timestamp.of_span_exn
in in
let open Bin_sig.SigningKeyAnnouncementPS in let open Bin_sig.SigningKeyAnnouncement in
verify ~key:sm_signkey_pub signkey_secmod_sig verify ~key:sm_signkey_pub signkey_secmod_sig
{ exchange_pub; anchor_time; duration } { exchange_pub; anchor_time; duration }
@ -106,7 +106,7 @@ let verify_future_denom ~sm_denom_pub
let duration_withdraw = let duration_withdraw =
Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn Timestamp.diff stamp_start stamp_expire_withdraw |> Timestamp.of_span_exn
in in
let open Bin_sig.DenominationKeyAnnouncementPS in let open Bin_sig.DenominationKeyAnnouncement in
verify ~key:sm_denom_pub denom_secmod_sig verify ~key:sm_denom_pub denom_secmod_sig
{ h_denom_pub; h_section_name; anchor_time; duration_withdraw } { h_denom_pub; h_section_name; anchor_time; duration_withdraw }