summaryrefslogtreecommitdiff
path: root/design-documents/024-age-restriction.rst
diff options
context:
space:
mode:
Diffstat (limited to 'design-documents/024-age-restriction.rst')
-rw-r--r--design-documents/024-age-restriction.rst31
1 files 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.