taler-docs

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

commit ae06c5e858650f436c0682caecd5dd2d36cf1920
parent faa1a470df84a0197d87321b9aa0636eef3a27c8
Author: Özgür Kesim <oec-taler@kesim.org>
Date:   Wed,  2 Apr 2025 14:13:35 +0200

[exchange] update /melt and /melt-reveal

Diffstat:
Mcore/api-exchange.rst | 31+++++++++++++++++--------------
1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/core/api-exchange.rst b/core/api-exchange.rst @@ -2120,7 +2120,7 @@ These endpoints are called by the client // The hash over the melt commitment from the ``/melt/`` step, // i.e. the SHA512 value of the `TALER_MeltCommitmentPS` // from that prior request. - melt_commitment_h: string; + h_commitment: string; // Array of ``(kappa - 1)`` disclosed batch secrets, // from which for each of the n coins in a batch @@ -2142,6 +2142,13 @@ These endpoints are called by the client // Signs over a `TALER_CoinLinkSignaturePS`. link_sigs: EddsaSignature[]; + // 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. + // The size of the vector MUST be the number of age groups as defined by the + // Exchange in the field ``.age_groups`` of the extension ``age_restriction``. + old_age_commitment?: Edx25519PublicKey[]; + } .. ts:def:: BatchSeed @@ -3505,8 +3512,6 @@ the API during normal operation. .. note:: This endpoint will become available starting with version v26 of the API. - .. warning:: This endpoint is still work-in-progress! - "Melts" a coin. Invalidates the coins and prepares for exchanging of fresh coins. Taler uses a global parameter ``kappa`` for the cut-and-choose component of the protocol, for which this request is the commitment. Thus, @@ -3552,16 +3557,13 @@ the API during normal operation. // Hash of the denomination public key of the old coin, to determine total coin value. old_denom_pub_h: HashCode; + // The hash of the age-commitment for the old coin. Only present + // if the denomination has support for age restriction. + old_h_age_commitment?: AgeCommitmentHash; + // Signature over the old `coin public key <eddsa-coin-pub>` by the denomination. old_denom_sig: DenominationSignature; - // 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. - // The size of the vector MUST be the number of age groups as defined by the - // Exchange in the field ``.age_groups`` of the extension ``age_restriction``. - old_age_commitment?: Edx25519PublicKey[]; - // Amount of the value of the old coin that should be melted as part of // this refresh operation, including melting fee. value_with_fee: Amount; @@ -3647,7 +3649,7 @@ the API during normal operation. .. note:: This endpoint will become depreciated starting with version v26 of the API. - Use ``/melt/$COIN_PUB`` instead, see `melt`_. + Use ``/melt`` instead, see `melt`_. "Melts" a coin. Invalidates the coins and prepares for exchanging of fresh coins. Taler uses a global parameter ``kappa`` for the cut-and-choose @@ -3762,8 +3764,9 @@ the API during normal operation. .. note:: - This endpoint will become depreciated starting with version v26 of the API. - Use ``/reveal-melt/$RCH`` then instead, see `Reveal`_. + This endpoint, along with ``/coins/$COIN_PUB/melt``, will become + depreciated starting with version v26 of the API. Instead, use + ``/melt`` and ``/reveal-melt``, see `melt`_ and `Reveal`_. Reveal previously committed values to the exchange, except for the values corresponding to the ``noreveal_index`` returned by the ``/coins/``-melt step. @@ -3971,7 +3974,7 @@ in using this API. // The hash of the age-commitment for the coin. Only present // if the denomination has support for age restriction. - h_age_commitment?: HashCode; + h_age_commitment?: AgeCommitmentHash; // Exchange-contributed values during the refresh // operation (see /blinding-prepare).