From c5322fd0c4c1c9f96ae028c629bc3400ef369b11 Mon Sep 17 00:00:00 2001 From: swrup Date: Wed, 8 Oct 2025 21:43:47 +0200 Subject: [PATCH] rm doc for now, better to reffer to the real updated doc --- src/binary_formats.ml | 53 +++---------------------------------------- 1 file changed, 3 insertions(+), 50 deletions(-) diff --git a/src/binary_formats.ml b/src/binary_formats.ml index 6cc012ad..8b1a7f7d 100644 --- a/src/binary_formats.ml +++ b/src/binary_formats.ml @@ -2,8 +2,9 @@ - numeric values are in network byte order (big endian) *) (* TODO: ? - some struct have a 'P' suffix, but are not defined in doc - we assume they are = to the un-suffixed ones *) + - some struct have a 'P' suffix, but are not defined in doc + we assume they are = to the un-suffixed ones + - some purpose (`TALER_SIGNATURE_XXX`) are missing or outdated(?) *) open Include @@ -370,48 +371,16 @@ end module BlindingMasterSeed = MK_BASIC_32 () -(* Format used for to generate the signature on a request to withdraw - coins from a reserve. *) module WithdrawRequestPS = struct (* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *) type t = { - (* Amount to withdraw, excluding fees, i.e. - the total sum of the denominations of the coins. - Note that the reserve must have a value of at least amount+fee. *) amount: Amount.t; - (* Total fee for the withdrawal. - Note that the reserve must have a value of at least amount+fee. *) fee: Amount.t; - (* This is the running SHA512-hash over all - `TALER_BlindedCoinHashP` values of the coins. - Note that each `TALER_BlindedCoinHashP` itself - captures the hash of the corresponding denomination's - public key. - If maxAge was set in the withdraw request, there will be - n*κ many such values. The iteration MUST be first over - all coins belonging to κ index=0, then all coins - to κ index=1 etc: - h[0][0]…h[0][n-1]h[1][0]…h[1][n-1] … h[κ-1][0]…h[κ-1][n-1] - - Note also that this value is required for /recoup and - -- in case of a withdraw request with required age proof -- - in the subsequent call to /reveal-withdraw *) h_planchets: HashPlanchetsP.t; - (* The master seed that was used in the call to /blinding-prepare blinding, - or all zeros, if no denomination of cipher type Clause-Schnorr is used. *) (* TODO TALER doc `TALER_BlindingMasterSecretP` in doc, but probably TALER_BlindingMasterSeed *) blinding_seed: BlindingMasterSeed.t; - (* If age restriction proof is required, the maximum age Group_ - to commit to, 0 otherwise. Note that in this case, all - denominations for all coins MUST support age restriction. - Also note that this is not an age (in years), but the age group - (an index) according to list of age groups in the configuration - of the exchange. See TALER_GetMaxGroup() how to calculate - the age group to a given age (in years). *) max_age_group: int32; - (* The age groups as configured for the exchange, represented as a mask. - If max_age_group is > 0, the mask MUST be non-zero, too. *) mask: AgeMask.t; } @@ -435,18 +404,9 @@ module WithdrawConfirmationPS = struct (* Purpose is #TALER_SIGNATURE_EXCHANGE_CONFIRM_WITHDRAW. Signed by a `struct TALER_ExchangePrivateKeyP` using EdDSA. *) type t = { - (* Commitment made in the /withdraw request. - Also needed for the /reveal-withdraw endpoint (in case - of required proof of age restriction) and for /recoup *) (* TODO TALER doc missing TALER_HashBlindedPlanchetsP*) h_planchets: HashPlanchetsP.t; - (* If proof of age restriction is not required for to this - withdrawal, (i.e. maxAge was not set during the request) - MUST be 0xFFFFFFFF. - Otherwise (i.e. proof of age restriction required): - index that the client will not have to reveal, in NBO, - MUST be smaller than #TALER_CNC_KAPPA. *) noreveal_index: int32; } @@ -506,13 +466,6 @@ module RefreshCommitmentP = MK_64 () module RefreshMeltCoinAffirmationPS = struct (* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *) - (* Hash over: - 1. refresh_seed (v27) - 2. the hash over all pairs of R-values if present, skipped otherwise - 3. list denomination hashes, in order - 4. amount with fee - 5. kappa list of n planchets, depths first: [0..n),[0..n),[0..n) - *) type t = { session_hash: RefreshCommitmentP.t; h_denom_pub: DenominationHash.t;