taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 66be441df4e6ad63924d4aba08bd81d66098f53c
parent ac19cf5dc38d9d6b0866177edb5b757166a201c6
Author: Özgür Kesim <oec@kesim.org>
Date:   Sat, 29 Nov 2025 11:51:47 +0100

[exchange] WIP: refresh for vDOLDPLUS

Diffstat:
Mcore/api-common.rst | 24+++++++++---------------
Mcore/api-exchange.rst | 26++++++++++++++------------
2 files changed, 23 insertions(+), 27 deletions(-)

diff --git a/core/api-common.rst b/core/api-common.rst @@ -1447,21 +1447,22 @@ within the struct TALER_RefreshCommitmentP { /** - * Starting with vDOLDPLUS this is defined as: + * @since vDOLDPLUS * Hash over: - * 1. kappa hashes of tranfer public keys: H(T_1),...,H(T_κ) + * 1. kappa*n tranfer public keys: T[1,1],⋯,T[1,n],T[2,1],⋯,T[κ,n] * 2. hash over all pairs of R-values (for CS) if present, skipped otherwise - * 3. list of denomination hashes, in order + * 3. n denomination hashes, in order * 4. amount with fee - * 5. kappa list of n planchets, depths first: [0..n),[0..n),[0..n) + * 5. kappa*n planchets, depths first: [0..n),[0..n),[0..n) * - * Before vDOLDPLUS this was defined as: + * @since v27 + * @deprecated vDOLDPLUS * 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 + * 2. hash over all pairs of R-values if present, skipped otherwise + * 3. n denomination hashes, in order * 4. amount with fee - * 5. kappa list of n planchets, depths first: [0..n),[0..n),[0..n) + * 5. kappa * n planchets, depths first: [0..n),[0..n),[0..n) */ struct GNUNET_HashCode session_hash; }; @@ -1935,13 +1936,6 @@ within the struct GNUNET_CRYPTO_EccSignaturePurpose purpose; }; -.. _TALER_RefreshCommitmentP: -.. sourcecode:: c - - struct TALER_RefreshCommitmentP { - struct GNUNET_HashCode session_hash; - }; - .. _TALER_PurseRequestSignaturePS: .. sourcecode:: c diff --git a/core/api-exchange.rst b/core/api-exchange.rst @@ -2052,21 +2052,22 @@ These endpoints are called by the client .. ts:def:: RevealMeltRequest interface RevealMeltRequest { - // The commitment from the ``/melt/`` step, - // i.e. the SHA512 value of - // 1. refresh_seed - // 2. blinding_seed, if applicable, skip otherwise - // 4. amount with fee (NBO) - // 5. kappa*n blinded planchet hashes (which include denomination information), - // depths first: [0..n)[0..n)[0..n) + // The refresh commitment from the ``/melt/`` step, + // see `TALER_RefreshCommitmentP`. rc: HashCode; + // @since v27 + // @deprecated vDOLDPLUS // The disclosed kappa-1 signatures by the old coin's private key, // over Hash1a("Refresh", Cp, r, i), where Cp is the melted coin's public key, // r is the public refresh nonce from the metling step and i runs over the // _disclosed_ kappa-1 indices. - signatures: CoinSignature[kappa-1]; + signatures?: CoinSignature[kappa-1]; + // TODO[oec]: Add the transfer secrets + transfer_secrets: string[kappa-1]; + + // TODO[oec]: Is this the right place? // IFF the denomination of the old coin had support for age restriction, // the client MUST provide the original age commitment, i. e. the // vector of public keys, or omitted otherwise. @@ -3416,9 +3417,10 @@ by anyone except the wallet itself. // + sum over all withdraw fees for the fresh coins value_with_fee: Amount; - // NOTE: This value was only used since v27 and before vDOLDPLUS! - // Seed from which the nonces for the n*κ coin candidates are derived - // from. + // @since v27 + // @deprecated vDOLDPLUS + // + // Seed from which the nonces for the n*κ coin candidates are derived from. refresh_seed?: HashCode; // Master seed for the Clause-Schnorr R-value @@ -3436,7 +3438,7 @@ by anyone except the wallet itself. // each matching the respective entries in ``denoms_h``. coin_evs: CoinEnvelope[kappa][]; - // NOTE: This value is required starting from vDOLDPLUS. + // @since vDOLDPLUS // ``kappa`` arrays of ``n`` entries of transwer public keys each. // These are ephemeral ECDHE keys. transfer_pubs: EddsaPublicKey[kappa][];