From 94ae5e5f695d1e6e9e586dd49c34feded7d4510a Mon Sep 17 00:00:00 2001 From: Özgür Kesim Date: Sun, 17 Oct 2021 13:15:36 +0200 Subject: clarify usage of coins without age restrictions --- design-documents/024-age-restriction.rst | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/design-documents/024-age-restriction.rst b/design-documents/024-age-restriction.rst index 48a258d1..d9775eaf 100644 --- a/design-documents/024-age-restriction.rst +++ b/design-documents/024-age-restriction.rst @@ -396,23 +396,26 @@ Making the payment If the ``ContractTerms`` had a non-zero value in field ``required_minimum_age``, the wallet has to provide evidence of that minimum -age +age by -#. by using coins which are of denominations that have age support enabled +#. *either* using coins which are of denominations that have support for age + restriction enabled -#. *and* ―for each coin― it has the right private key of the restricted age - commitment to the age group into which the required minimum age falls (i.e. - a non-empty entry at the right index in vector of EdDSA keys, see above). + #. and then ―for each such coin― it has the right private key of the + restricted age commitment to the age group into which the required + minimum age falls (i.e. a non-empty entry at the right index in + vector of EdDSA keys, see above). -#. and signs the required minimum age with each coin's private key - corresponding to the age group, + #. and signs the required minimum age with each coin's private key + corresponding to the age group, -#. and sends ―for each coin― the complete age commitment and the signature to - the merchant. + #. and sends ―for each coin― the complete age commitment and the signature + to the merchant. +#. *or* using coins which are of denominations that had *no* age support enabled. -For doing so, the object ``CoinPaySig`` used within a ``PayRequest`` during a -POST to ``[/instances/$INSTANCE]/orders/$ORDER_ID/pay`` is extended as follows: +The object ``CoinPaySig`` used within a ``PayRequest`` during a POST to +``[/instances/$INSTANCE]/orders/$ORDER_ID/pay`` is extended as follows: .. ts:def:: CoinPaySig @@ -447,7 +450,11 @@ The merchant can now verify #. the minimum age requirement by checking the signature in ``minimum_age_sig`` against the public key ``age_commitment[k]`` of the corresponding age group, say, ``k``. (The minimum age must fall into the age group at index ``k`` as - defined by the exchange) + defined by the exchange). + +**Note**: This applies only to coins for denominations that have support for +age restriction. Denominations *without* support for age restriction *always* +fullfill any minimum age requirement. -- cgit v1.2.3