commit 6fce617837e0c9e770262ec18d500a41f93ce68b
parent 0d144c2097a46af84f5db92270e5b28a310ad96c
Author: Florian Dold <florian@dold.me>
Date: Tue, 22 Aug 2023 13:24:22 +0200
integrate Christian's feedback
Diffstat:
1 file changed, 10 insertions(+), 16 deletions(-)
diff --git a/design-documents/048-wallet-exchange-lifecycle.rst b/design-documents/048-wallet-exchange-lifecycle.rst
@@ -52,34 +52,28 @@ entry status:
* ``ephemeral``: Exchange has been updated (or update has been attempted) at
least once (for example as part of checking the fees for a transaction using
the exchange). However, the exchange is not yet used for any resource in the wallet.
+ In this state, the exchange record will be garbage-collected eventually.
* ``used``: The exchange known and used, the wallet regularly queries /keys.
update status:
* ``initial``: Not updated, no need to update
-* ``pending(update)``: Update pending, possibly with error
-* ``suspended(update)``: Exchange should not be contacted anymore, but record is kept
- in the wallet. Mostly useful for testing.
+* ``initial(update)``: Update pending, possibly with error
+* ``suspended``: Exchange was manually disabled, should not be contacted
+ anymore, but record is kept in the wallet. Mostly useful for testing.
* ``failed``: Updating the exchange info failed permanently, the exchange is
not usable for any operations.
-* ``ready``
-
-FIXME: Do we distinguish between pending states where the exchange is still usable
-and pending states where we need to wait for the update step to finish?
-
-FIXME: Do we consider the exchange record "failed" when ToS download was impossible?
-Do we download (and store) plain-text ToS or just do a HEAD to get the etag?
+* ``outdated(update)``
+* ``ready``: Exchange is useable.
+* ``ready(update)``: Exchange is useable, but currently being updated.
ToS status:
* ``pending``: The wallet is still trying to download the ToS.
- Possible the last download attempt failed.
+ Possibly the last download attempt failed, will be reflected in an
+ error details object.
+* ``proposed``: The user needs to accept the current ToS.
* ``accepted``: The user has accepted the latest version of the ToS.
-* ``proposed``: The user needs to accept the current ToS
-* ``outdated``: The user has previously accepted the ToS, but the exchange
- has a newer version available now.
-
-FIXME: Do we really need to distinguish between ``proposed`` and ``outdated``?
Management Requests
-------------------