diff options
Diffstat (limited to 'design-documents/024-age-restriction.rst')
-rw-r--r-- | design-documents/024-age-restriction.rst | 31 |
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. |