+ let purpose_code = ..

This commit is contained in:
swrup 2025-10-08 21:52:39 +02:00
parent 15440409c4
commit 6e79149b43

View file

@ -422,7 +422,8 @@ module WithdrawConfirmationPS = struct
end
module SingleWithdrawRequestPS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
let purpose_code = Taler_signatures.wallet_reserve_withdraw
type t = {
amount_with_fee: AmountNBO.t;
h_denomination_pub: DenominationHash.t;
@ -431,7 +432,8 @@ module SingleWithdrawRequestPS = struct
end
module DepositRequestPS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_DEPOSIT *)
let purpose_code = Taler_signatures.wallet_coin_deposit
type t = {
h_contract_terms: PrivateContractHash.t;
h_age_commitment: AgeCommitmentHash.t;
@ -448,7 +450,8 @@ module DepositRequestPS = struct
end
module DepositConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_DEPOSIT *)
let purpose_code = Taler_signatures.exchange_confirm_deposit
type t = {
h_contract_terms: PrivateContractHash.t;
h_wire: MerchantWireHash.t;
@ -464,7 +467,8 @@ end
module RefreshCommitmentP = MK_64 ()
module RefreshMeltCoinAffirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *)
let purpose_code = Taler_signatures.wallet_coin_melt
type t = {
session_hash: RefreshCommitmentP.t;
h_denom_pub: DenominationHash.t;
@ -475,7 +479,8 @@ module RefreshMeltCoinAffirmationPS = struct
end
module RefreshMeltConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_MELT *)
let purpose_code = Taler_signatures.exchange_confirm_melt
type t = {
session_hash: RefreshCommitmentP.t;
noreveal_index: int; (* uint16_t mapped to OCaml int *)
@ -483,7 +488,8 @@ module RefreshMeltConfirmationPS = struct
end
module ExchangeSigningKeyValidityPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY *)
let purpose_code = Taler_signatures.master_signing_key_validity
type t = {
start: TimeAbsoluteNBO.t;
expire: TimeAbsoluteNBO.t;
@ -493,7 +499,8 @@ module ExchangeSigningKeyValidityPS = struct
end
module ExchangeKeySetPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_KEY_SET *)
let purpose_code = Taler_signatures.exchange_key_set
type t = {
list_issue_date: TimeAbsoluteNBO.t;
hc: HashCode.t;
@ -501,7 +508,8 @@ module ExchangeKeySetPS = struct
end
module DenominationKeyValidityPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY *)
let purpose_code = Taler_signatures.master_denomination_key_validity
type t = {
master: MasterPublicKeyP.t;
start: TimeAbsoluteNBO.t;
@ -517,7 +525,8 @@ module DenominationKeyValidityPS = struct
end
module MasterWireDetailsPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_DETAILS *)
let purpose_code = Taler_signatures.master_wire_details
type t = {
h_wire_details: FullPaytoHash.t;
h_conversion_url: HashCode.t;
@ -527,7 +536,8 @@ module MasterWireDetailsPS = struct
end
module MasterWireFeePS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_WIRE_FEES *)
let purpose_code = Taler_signatures.master_wire_fees
type t = {
h_wire_method: HashCode.t;
start_date: TimeAbsoluteNBO.t;
@ -538,7 +548,8 @@ module MasterWireFeePS = struct
end
module GlobalFeesPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_GLOBAL_FEES *)
let purpose_code = Taler_signatures.master_global_fees
type t = {
start_date: TimeAbsoluteNBO.t;
end_date: TimeAbsoluteNBO.t;
@ -554,7 +565,8 @@ module GlobalFeesPS = struct
end
module MasterDrainProfitPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DRAIN_PROFITS *)
let purpose_code = Taler_signatures.master_drain_profit
type t = {
wtid: WireTransferIdentifierRawP.t;
date: TimeAbsoluteNBO.t;
@ -565,7 +577,8 @@ module MasterDrainProfitPS = struct
end
module DepositTrackPS = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_TRACK_TRANSACTION *)
let purpose_code = Taler_signatures.merchant_track_transaction
type t = {
h_contract_terms: PrivateContractHash.t;
h_wire: MerchantWireHash.t;
@ -584,7 +597,8 @@ module WireDepositDetailP = struct
end
module WireDepositDataPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT *)
let purpose_code = Taler_signatures.exchange_confirm_wire_deposit
type t = {
total: AmountNBO.t;
wire_fee: AmountNBO.t;
@ -595,7 +609,8 @@ module WireDepositDataPS = struct
end
module ExchangeKeyValidityPS = struct
(* purpose.purpose = TALER_SIGNATURE_AUDITOR_EXCHANGE_KEYS *)
let purpose_code = Taler_signatures.auditor_exchange_keys
type t = {
auditor_url_hash: HashCode.t;
master: MasterPublicKeyP.t;
@ -612,17 +627,20 @@ module ExchangeKeyValidityPS = struct
end
module PaymentResponsePS = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_PAYMENT_OK *)
let purpose_code = Taler_signatures.merchant_payment_ok
type t = { h_contract_terms: PrivateContractHash.t }
end
module ContractPS = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_CONTRACT *)
let purpose_code = Taler_signatures.merchant_contract
type t = { h_contract_terms: PrivateContractHash.t }
end
module ConfirmWirePS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE *)
let purpose_code = Taler_signatures.exchange_confirm_wire
type t = {
h_wire: MerchantWireHash.t;
h_contract_terms: PrivateContractHash.t;
@ -634,7 +652,8 @@ module ConfirmWirePS = struct
end
module RefundConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_REFUND *)
let purpose_code = Taler_signatures.exchange_confirm_refund
type t = {
h_contract_terms: PrivateContractHash.t;
coin_pub: CoinSpendPublicKeyP.t;
@ -645,7 +664,8 @@ module RefundConfirmationPS = struct
end
module DepositTrackPS2 = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_TRACK_TRANSACTION *)
let purpose_code = Taler_signatures.merchant_track_transaction
type t = {
h_contract_terms: PrivateContractHash.t;
h_wire: MerchantWireHash.t;
@ -655,7 +675,8 @@ module DepositTrackPS2 = struct
end
module RefundRequestPS = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND *)
let purpose_code = Taler_signatures.merchant_refund
type t = {
h_contract_terms: PrivateContractHash.t;
coin_pub: CoinSpendPublicKeyP.t;
@ -666,13 +687,17 @@ module RefundRequestPS = struct
end
module MerchantRefundConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_MERCHANT_REFUND_OK *)
let purpose_code = Taler_signatures.merchant_refund
(* Hash of the order ID (a string), hashed without the 0-termination. *)
type t = { h_order_id: HashCode.t }
end
module RecoupRequestPS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_RECOUP or TALER_SIGNATURE_WALLET_COIN_RECOUP_REFRESH *)
(* two purpose_code possible here *)
let purpose_code_1 = Taler_signatures.wallet_coin_recoup
let purpose_code_2 = Taler_signatures.wallet_coin_recoup_refresh
type t = {
h_denom_pub: DenominationHash.t;
coin_blind: DenominationBlindingKeyP.t;
@ -680,7 +705,8 @@ module RecoupRequestPS = struct
end
module RecoupRefreshConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP_REFRESH *)
let purpose_code = Taler_signatures.exchange_confirm_recoup_refresh
type t = {
timestamp: TimeAbsoluteNBO.t;
recoup_amount: AmountNBO.t;
@ -690,7 +716,8 @@ module RecoupRefreshConfirmationPS = struct
end
module RecoupConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_RECOUP *)
let purpose_code = Taler_signatures.exchange_confirm_recoup
type t = {
timestamp: TimeAbsoluteNBO.t;
recoup_amount: AmountNBO.t;
@ -700,7 +727,8 @@ module RecoupConfirmationPS = struct
end
module DenominationUnknownAffirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_AFFIRM_DENOM_UNKNOWN *)
let purpose_code = Taler_signatures.exchange_affirm_denom_unknown
type t = {
timestamp: TimeAbsoluteNBO.t;
h_denom_pub: DenominationHash.t;
@ -708,7 +736,8 @@ module DenominationUnknownAffirmationPS = struct
end
module DenominationExpiredAffirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_GENERIC_DENOMINATIN_EXPIRED *)
let purpose_code = Taler_signatures.exchange_affirm_denom_expired
type t = {
timestamp: TimeAbsoluteNBO.t;
operation: string; (* char[8] → string *)
@ -717,7 +746,8 @@ module DenominationExpiredAffirmationPS = struct
end
module ReserveCloseConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_CLOSED *)
let purpose_code = Taler_signatures.exchange_reserve_closed
type t = {
timestamp: TimeAbsoluteNBO.t;
closing_amount: AmountNBO.t;
@ -727,7 +757,8 @@ module ReserveCloseConfirmationPS = struct
end
module CoinLinkSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
let purpose_code = Taler_signatures.wallet_coin_link
type t = {
h_denom_pub: DenominationHash.t;
old_coin_pub: CoinSpendPublicKeyP.t;
@ -737,17 +768,20 @@ module CoinLinkSignaturePS = struct
end
module RefreshNonceSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_LINK *)
let purpose_code = Taler_signatures.wallet_coin_link
type t = { nonce: PublicRefreshCoinNonceP.t }
end
module ReserveStatusRequestSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_RESERVE_STATUS_REQUEST *)
let purpose_code = Taler_signatures.exchange_reserve_status
type t = { request_timestamp: TimeAbsoluteNBO.t }
end
module ReserveHistoryRequestSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_RESERVE_HISTORY_REQUEST *)
let purpose_code = Taler_signatures.wallet_reserve_history
type t = {
history_fee: AmountNBO.t;
request_timestamp: TimeAbsoluteNBO.t;
@ -755,12 +789,15 @@ module ReserveHistoryRequestSignaturePS = struct
end
module PurseStatusRequestSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_REQUEST *)
let purpose_code = Taler_signatures.wallet_purse_status
type t = unit
end
module PurseStatusResponseSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_STATUS_RESPONSE *)
(* or? wallet_purse_status *)
let purpose_code = Taler_signatures.exchange_purse_status
type t = {
total_purse_amount: AmountNBO.t;
total_deposit_amount: AmountNBO.t;
@ -772,12 +809,14 @@ module PurseStatusResponseSignaturePS = struct
end
module ReserveCloseRequestSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
let purpose_code = Taler_signatures.wallet_reserve_close
type t = unit
end
module PurseRequestSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_CREATE *)
let purpose_code = Taler_signatures.wallet_purse_create
type t = {
purse_expiration: TimeAbsoluteNBO.t;
merge_value_after_fees: AmountNBO.t;
@ -787,7 +826,8 @@ module PurseRequestSignaturePS = struct
end
module PurseDepositSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT *)
let purpose_code = Taler_signatures.wallet_purse_deposit
type t = {
coin_contribution: AmountNBO.t;
h_denom_pub: DenominationHash.t;
@ -798,7 +838,8 @@ module PurseDepositSignaturePS = struct
end
module PurseDepositSignaturePS2 = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN_DEPOSIT *)
let purpose_code = Taler_signatures.wallet_reserve_open_deposit
type t = {
reserve_sig: ReserveSignatureP.t;
coin_contribution: AmountNBO.t;
@ -806,7 +847,8 @@ module PurseDepositSignaturePS2 = struct
end
module PurseDepositConfirmedSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_DEPOSIT_CONFIRMED *)
let purpose_code = Taler_signatures.exchange_confirm_deposit
type t = {
total_purse_amount: AmountNBO.t;
total_deposit_fees: AmountNBO.t;
@ -817,7 +859,8 @@ module PurseDepositConfirmedSignaturePS = struct
end
module PurseMergeSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_PURSE_MERGE *)
let purpose_code = Taler_signatures.wallet_purse_merge
type t = {
merge_timestamp: TimeAbsoluteNBO.t;
h_wire: NormalizedPaytoHash.t;
@ -825,7 +868,8 @@ module PurseMergeSignaturePS = struct
end
module AccountMergeSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_MERGE *)
let purpose_code = Taler_signatures.wallet_account_merge
type t = {
reserve_pub: ReservePublicKeyP.t;
purse_pub: PursePublicKey.t;
@ -838,12 +882,14 @@ module AccountMergeSignaturePS = struct
end
module AccountSetupRequestSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_ACCOUNT_SETUP *)
let purpose_code = Taler_signatures.wallet_account_setup
type t = { threshold: AmountNBO.t }
end
module PurseMergeSuccessSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_PURSE_MERGE_SUCCESS *)
let purpose_code = Taler_signatures.exchange_confirm_purse_merged
type t = {
reserve_pub: ReservePublicKeyP.t;
purse_pub: PursePublicKey.t;
@ -856,7 +902,8 @@ module PurseMergeSuccessSignaturePS = struct
end
module WadDataSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_WAD_DATA *)
let purpose_code = Taler_signatures.wad_data
type t = {
wad_execution_time: TimeAbsoluteNBO.t;
total_amount: AmountNBO.t;
@ -866,7 +913,8 @@ module WadDataSignaturePS = struct
end
module WadPartnerSignaturePS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARTNER_DETAILS *)
let purpose_code = Taler_signatures.master_partner_details
type t = {
h_partner_base_url: HashCode.t;
master_public_key: MasterPublicKeyP.t;
@ -878,7 +926,8 @@ module WadPartnerSignaturePS = struct
end
module P2PFeesPS = struct
(* purpose.purpose = TALER_SIGNATURE_P2P_FEES *)
let purpose_code = Taler_signatures.p2p_fees
type t = {
start_date: TimeAbsoluteNBO.t;
end_date: TimeAbsoluteNBO.t;
@ -893,7 +942,8 @@ module P2PFeesPS = struct
end
module CoinPurseRefundConfirmationPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_CONFIRM_PURSE_REFUND *)
let purpose_code = Taler_signatures.exchange_confirm_purse_refund
type t = {
purse_pub: PursePublicKey.t;
coin_pub: CoinSpendPublicKeyP.t;
@ -903,7 +953,8 @@ module CoinPurseRefundConfirmationPS = struct
end
module DenominationKeyAnnouncementPS = struct
(* purpose.purpose = TALER_SIGNATURE_SM_DENOMINATION_KEY *)
let purpose_code = Taler_signatures.sm_denomination_key
type t = {
h_denom_pub: DenominationHash.t;
h_section_name: HashCode.t;
@ -913,7 +964,8 @@ module DenominationKeyAnnouncementPS = struct
end
module SigningKeyAnnouncementPS = struct
(* purpose.purpose = TALER_SIGNATURE_SM_SIGNING_KEY *)
let purpose_code = Taler_signatures.sm_signing_key
type t = {
exchange_pub: ExchangePublicKeyP.t;
anchor_time: TimeAbsoluteNBO.t;
@ -922,17 +974,20 @@ module SigningKeyAnnouncementPS = struct
end
module MasterDenominationKeyRevocationPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DENOMINATION_KEY_REVOKED *)
let purpose_code = Taler_signatures.master_denomination_key_revoked
type t = { h_denom_pub: DenominationHash.t }
end
module MasterSigningKeyRevocationPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_SIGNING_KEY_REVOKED *)
let purpose_code = Taler_signatures.master_signing_key_revoked
type t = { exchange_pub: ExchangePublicKeyP.t }
end
module MasterAddAuditorPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_AUDITOR *)
let purpose_code = Taler_signatures.master_add_auditor
type t = {
start_date: TimeAbsoluteNBO.t;
auditor_pub: AuditorPublicKeyP.t;
@ -941,7 +996,8 @@ module MasterAddAuditorPS = struct
end
module MasterDelAuditorPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_AUDITOR *)
let purpose_code = Taler_signatures.master_del_auditor
type t = {
end_date: TimeAbsoluteNBO.t;
auditor_pub: AuditorPublicKeyP.t;
@ -949,7 +1005,8 @@ module MasterDelAuditorPS = struct
end
module MasterAddWirePS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_ADD_WIRE *)
let purpose_code = Taler_signatures.master_add_wire
type t = {
start_date: TimeAbsoluteNBO.t;
h_wire: FullPaytoHash.t;
@ -960,7 +1017,8 @@ module MasterAddWirePS = struct
end
module MasterDelWirePS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_DEL_WIRE *)
let purpose_code = Taler_signatures.master_del_wire
type t = {
end_date: TimeAbsoluteNBO.t;
h_wire: FullPaytoHash.t;
@ -968,7 +1026,8 @@ module MasterDelWirePS = struct
end
module MasterAmlOfficerStatusPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_AML_KEY *)
let purpose_code = Taler_signatures.master_aml_key
type t = {
change_date: TimeTimestampNBO.t;
officer_pub: AmlOfficerPublicKeyP.t;
@ -978,7 +1037,8 @@ module MasterAmlOfficerStatusPS = struct
end
module AmlDecisionPS = struct
(* purpose.purpose = TALER_SIGNATURE_AML_DECISION *)
let purpose_code = Taler_signatures.aml_decision
type t = {
h_justification: HashCode.t;
decision_time: TimeTimestampNBO.t;
@ -990,7 +1050,8 @@ module AmlDecisionPS = struct
end
module PartnerConfigurationPS = struct
(* purpose.purpose = TALER_SIGNATURE_MASTER_PARNTER_DETAILS *)
let purpose_code = Taler_signatures.master_parnter_details
type t = {
partner_pub: MasterPublicKeyP.t;
start_date: TimeTimestampNBO.t;
@ -1002,7 +1063,8 @@ module PartnerConfigurationPS = struct
end
module ReserveOpenPS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_OPEN *)
let purpose_code = Taler_signatures.wallet_reserve_open
type t = {
reserve_payment: AmountNBO.t;
request_timestamp: TimeTimestampNBO.t;
@ -1012,7 +1074,8 @@ module ReserveOpenPS = struct
end
module ReserveClosePS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_RESERVE_CLOSE *)
let purpose_code = Taler_signatures.wallet_reserve_close
type t = {
request_timestamp: TimeTimestampNBO.t;
target_account_h_payto: FullPaytoHash.t;
@ -1020,7 +1083,8 @@ module ReserveClosePS = struct
end
module ReserveAttestRequestPS = struct
(* purpose.purpose = TALER_SIGNATURE_WALLET_ATTEST_REQUEST *)
let purpose_code = Taler_signatures.wallet_attest_request
type t = {
request_timestamp: TimeTimestampNBO.t;
h_details: HashCode.t;
@ -1028,7 +1092,8 @@ module ReserveAttestRequestPS = struct
end
module ExchangeAttestPS = struct
(* purpose.purpose = TALER_SIGNATURE_EXCHANGE_RESERVE_ATTEST_DETAILS *)
let purpose_code = Taler_signatures.exchange_reserve_attest_details
type t = {
attest_timestamp: TimeTimestampNBO.t;
expiration_time: TimeTimestampNBO.t;