rm doc for now, better to reffer to the real updated doc
This commit is contained in:
parent
5578920507
commit
c5322fd0c4
1 changed files with 3 additions and 50 deletions
|
|
@ -2,8 +2,9 @@
|
||||||
|
|
||||||
- numeric values are in network byte order (big endian) *)
|
- numeric values are in network byte order (big endian) *)
|
||||||
(* TODO: ?
|
(* TODO: ?
|
||||||
some struct have a 'P' suffix, but are not defined in doc
|
- some struct have a 'P' suffix, but are not defined in doc
|
||||||
we assume they are = to the un-suffixed ones *)
|
we assume they are = to the un-suffixed ones
|
||||||
|
- some purpose (`TALER_SIGNATURE_XXX`) are missing or outdated(?) *)
|
||||||
|
|
||||||
open Include
|
open Include
|
||||||
|
|
||||||
|
|
@ -370,48 +371,16 @@ end
|
||||||
|
|
||||||
module BlindingMasterSeed = MK_BASIC_32 ()
|
module BlindingMasterSeed = MK_BASIC_32 ()
|
||||||
|
|
||||||
(* Format used for to generate the signature on a request to withdraw
|
|
||||||
coins from a reserve. *)
|
|
||||||
module WithdrawRequestPS = struct
|
module WithdrawRequestPS = struct
|
||||||
(* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
|
(* Purpose is #TALER_SIGNATURE_WALLET_RESERVE_WITHDRAW *)
|
||||||
type t = {
|
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;
|
amount: Amount.t;
|
||||||
(* Total fee for the withdrawal.
|
|
||||||
Note that the reserve must have a value of at least amount+fee. *)
|
|
||||||
fee: Amount.t;
|
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;
|
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
|
(* TODO TALER doc
|
||||||
`TALER_BlindingMasterSecretP` in doc, but probably TALER_BlindingMasterSeed *)
|
`TALER_BlindingMasterSecretP` in doc, but probably TALER_BlindingMasterSeed *)
|
||||||
blinding_seed: BlindingMasterSeed.t;
|
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;
|
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;
|
mask: AgeMask.t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -435,18 +404,9 @@ module WithdrawConfirmationPS = 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 = {
|
||||||
(* 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
|
(* TODO TALER doc
|
||||||
missing TALER_HashBlindedPlanchetsP*)
|
missing TALER_HashBlindedPlanchetsP*)
|
||||||
h_planchets: HashPlanchetsP.t;
|
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;
|
noreveal_index: int32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -506,13 +466,6 @@ module RefreshCommitmentP = MK_64 ()
|
||||||
|
|
||||||
module RefreshMeltCoinAffirmationPS = struct
|
module RefreshMeltCoinAffirmationPS = struct
|
||||||
(* purpose.purpose = TALER_SIGNATURE_WALLET_COIN_MELT *)
|
(* 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 = {
|
type t = {
|
||||||
session_hash: RefreshCommitmentP.t;
|
session_hash: RefreshCommitmentP.t;
|
||||||
h_denom_pub: DenominationHash.t;
|
h_denom_pub: DenominationHash.t;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue