gnunet-svn
[Top][All Lists]
Advanced

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

[taler-docs] branch master updated: simplify DD46 to make it more implem


From: gnunet
Subject: [taler-docs] branch master updated: simplify DD46 to make it more implementable
Date: Thu, 12 Oct 2023 09:46:21 +0200

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

grothoff pushed a commit to branch master
in repository docs.

The following commit(s) were added to refs/heads/master by this push:
     new 27450d99 simplify DD46 to make it more implementable
27450d99 is described below

commit 27450d99d9db6a3e5a126accd4330d1b56d90ee3
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Thu Oct 12 09:46:13 2023 +0200

    simplify DD46 to make it more implementable
---
 design-documents/046-mumimo-contracts.rst | 37 +++++++++++++++----------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/design-documents/046-mumimo-contracts.rst 
b/design-documents/046-mumimo-contracts.rst
index 043485fe..5bc3d25a 100644
--- a/design-documents/046-mumimo-contracts.rst
+++ b/design-documents/046-mumimo-contracts.rst
@@ -111,6 +111,13 @@ The contract terms v1 will have the following structure:
     // encoded in it (such as a short product identifier and timestamp).
     order_id: string;
 
+    // Price to be paid for the transaction. Could be 0.
+    // The price is in addition to other instruments,
+    // such as rations and tokens.
+    // The exchange will subtract deposit fees from that amount
+    // before transferring it to the merchant.
+    price: Amount;
+
     // URL where the same contract could be ordered again (if
     // available). Returned also at the public order endpoint
     // for people other than the actual buyer (hence public,
@@ -271,27 +278,9 @@ The contract terms v1 will have the following structure:
 .. ts:def:: ContractInput
 
   type ContractInput =
-    | ContractInputCurrency
     | ContractInputRation
     | ContractInputToken;
 
-.. ts:def:: ContractInputCurrency
-
-  interface ContractInputCurrency {
-
-    type: "coin";
-
-    // Price to be paid for the transaction.
-    // The exchange will subtract deposit fees from that amount
-    // before transferring it to the merchant.
-    price: Amount;
-
-    // FIXME-DOLD: do we want to move this into a 'details'
-    // sub-structure as done with tokens below?
-    class: "currency";
-
-  };
-
 .. ts:def:: ContractInputRation
 
   interface ContractInputRation {
@@ -702,11 +691,21 @@ Definition of Done
   - Integration tests exist in wallet-core
   - Deliverables accepted by EC
 
+While rationing is part of the design, we expect the actual implementation to
+be done much later and thus should not consider it part of the "DONE" part.
+Rationing is complex, especially as a refunded contract should probably also
+refund the ration.
+
 
 Alternatives
 ============
 
-None.
+The first draft of this DD included the capability of paying with multiple
+currencies for the same contract (for example, USD:1 and EUR:5) plus tokens
+and rations. However, this is very complex, both for wallets (how to display),
+for other merchant APIs (does the refund API have to become multi-currency as
+well?) and there does not seem to be a good business case for it. So for now,
+the price is always only in one currency.
 
 
 Drawbacks

-- 
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]