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:
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).