gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-docs] branch master updated: new denominations structure, minor f


From: gnunet
Subject: [taler-docs] branch master updated: new denominations structure, minor fixes
Date: Fri, 03 Jun 2022 13:58:08 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new 556165f  new denominations structure, minor fixes
556165f is described below

commit 556165f148f0ad5b1800d94e3f67cf45698453da
Author: Florian Dold <florian@dold.me>
AuthorDate: Fri Jun 3 13:58:05 2022 +0200

    new denominations structure, minor fixes
---
 core/api-exchange.rst                          | 83 +++++++++++++++++++++++++-
 design-documents/013-peer-to-peer-payments.rst |  2 +-
 design-documents/024-age-restriction.rst       |  2 -
 3 files changed, 81 insertions(+), 6 deletions(-)

diff --git a/core/api-exchange.rst b/core/api-exchange.rst
index 76631ee..8bf3409 100644
--- a/core/api-exchange.rst
+++ b/core/api-exchange.rst
@@ -138,8 +138,13 @@ possibly by using HTTPS.
       wallet_balance_limit_without_kyc?: Amount;
 
       // Denominations offered by this exchange.
+      // DEPRECATED: Will eventually be replaced by the
+      // differently structured "denominations" field.
       denoms: Denom[];
 
+      // Denominations offered by this exchange
+      denominations: DenominationGroup[];
+
       // Denominations for which the exchange currently offers/requests recoup.
       recoup: Recoup[];
 
@@ -233,6 +238,78 @@ possibly by using HTTPS.
 
     }
 
+  .. ts:def:: DenomGroup
+
+    // Common attributes for all denomination groups
+    interface DenomGroupCommon {
+      // How much are coins of this denomination worth?
+      value: Amount;
+
+      // Fee charged by the exchange for withdrawing a coin of this 
denomination.
+      fee_withdraw: Amount;
+
+      // Fee charged by the exchange for depositing a coin of this 
denomination.
+      fee_deposit: Amount;
+
+      // Fee charged by the exchange for refreshing a coin of this 
denomination.
+      fee_refresh: Amount;
+
+      // Fee charged by the exchange for refunding a coin of this denomination.
+      fee_refund: Amount;
+
+      // Hash of all denominations in this group.
+      hash: HashCode;
+    }
+
+    interface DenomCommon {
+      // Signature of `TALER_DenominationKeyValidityPS`.
+      master_sig: EddsaSignature;
+
+      // When does the denomination key become valid?
+      stamp_start: Timestamp;
+
+      // When is it no longer possible to deposit coins
+      // of this denomination?
+      stamp_expire_withdraw: Timestamp;
+
+      // Timestamp indicating by when legal disputes relating to these coins 
must
+      // be settled, as the exchange will afterwards destroy its evidence 
relating to
+      // transactions involving this coin.
+      stamp_expire_legal: Timestamp;
+    }
+
+    type DenomGroup =
+      | DenomGroupRsa
+      | DenomGroupCs
+      | DenomGroupRsaAgeRestricted
+      | DenomGroupCsAgeRestricted;
+
+    interface DenomGroupRsa extends DenomGroupCommon {
+      cipher: "RSA";
+
+      denoms: ({
+        rsa_pub: string;
+      } & DenomGroupCommon)[];
+    }
+
+    interface DenomGroupCs extends DenomGroupCommon {
+      cipher: "CS";
+
+      denoms: ({
+        cs_pub: Cs25519Point;
+        age_mask: string;
+      } & DenomGroupCommon)[];
+    }
+
+    interface DenomGroupRsaAgeRestricted extends DenomGroupCommon {
+      cipher: "RSA+age_restricted";
+
+      denoms: ({
+        rsa_pub: string;
+        age_mask: string;
+      } & DenomGroupCommon)[];
+    }
+
   .. ts:def:: Denom
 
     interface Denom {
@@ -1810,7 +1887,7 @@ denomination.
     previously used with a different denomination.  Which case it is
     can be decided by looking at the error code
     (``TALER_EC_EXCHANGE_GENERIC_INSUFFICIENT_FUNDS`` or
-     ``TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY``).
+    ``TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY``).
     The fields of the response are the same in both cases.
     The request should not be repeated again with this coin.
     In this case, the response is a `DepositDoubleSpendError`.
@@ -2345,7 +2422,7 @@ the API during normal operation.
     previously used with a different denomination.  Which case it is
     can be decided by looking at the error code
     (``TALER_EC_EXCHANGE_GENERIC_INSUFFICIENT_FUNDS`` or
-     ``TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY``).
+    ``TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY``).
     The response is `MeltForbiddenResponse` in both cases.
   :http:statuscode:`410 Gone`:
     The requested denomination key is not yet or no longer valid.
@@ -3133,7 +3210,7 @@ Wallet-to-wallet transfers
     Which case it is
     can be decided by looking at the error code
     (``TALER_EC_EXCHANGE_GENERIC_INSUFFICIENT_FUNDS`` or
-     ``TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY`` or
+    ``TALER_EC_EXCHANGE_GENERIC_COIN_CONFLICTING_DENOMINATION_KEY`` or
     ``TALER_EC_EXCHANGE_PURSE_CREATE_CONFLICTING_META_DATA`` or
     ``TALER_EC_EXCHANGE_PURSE_DEPOSIT_CONFLICTING_META_DATA`` or
     ``TALER_EC_EXCHANGE_PURSE_ECONTRACT_CONFLICTING_META_DATA``).
diff --git a/design-documents/013-peer-to-peer-payments.rst 
b/design-documents/013-peer-to-peer-payments.rst
index da4b4bb..5c0d7d1 100644
--- a/design-documents/013-peer-to-peer-payments.rst
+++ b/design-documents/013-peer-to-peer-payments.rst
@@ -376,7 +376,7 @@ In this protocol variant, the payer is initiating the 
process.
 3. The payer shares the purse's private key and the base URL
    of the exchange where the purse was created with the payee.
    This can be done using a ``taler://purse/$BASE_URL/$PURSE_PRIV`` URL.
-   The chapter on ``Refinements'' below clarifies why this
+   The chapter on ``Refinements`` below clarifies why this
    step is not quite OK and was modified when implementing the   design.
 4. The payee uses the new ``/purse/$PURSE_PUB`` endpoint to retrieve
    the encrypted contract (if available) and purse balance, which includes all
diff --git a/design-documents/024-age-restriction.rst 
b/design-documents/024-age-restriction.rst
index b97d833..0b3aa76 100644
--- a/design-documents/024-age-restriction.rst
+++ b/design-documents/024-age-restriction.rst
@@ -677,5 +677,3 @@ The scheme is as follows:
       return [s] * G == R + [SHA-512(R ∥ P ∥ message)] * P
     }
 
-::
-

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]