commit dae5fc77d64ee72e83b52ced12e7f1d509a6a364
parent 9f7bb4eace92fd4f3ad6ba7ba478a0ac6f6c34ca
Author: Florian Dold <florian@dold.me>
Date: Wed, 30 Aug 2023 11:36:59 +0200
DD48: formatting, clarify transition
Diffstat:
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/design-documents/048-wallet-exchange-lifecycle.rst b/design-documents/048-wallet-exchange-lifecycle.rst
@@ -39,12 +39,14 @@ Exchange Entry Status
---------------------
The wallet exposes three separate status fields for each exchange entry:
+
* the entry status
* the update status
* the ToS status
-entry status:
+Entry Status
+~~~~~~~~~~~~
* ``preset``: Exchange record has been added to the exchange (typically as
a hardcoded preset in wallet-core). While the exchange can be selected for operations,
@@ -55,7 +57,14 @@ entry status:
In this state, the exchange record will be garbage-collected eventually.
* ``used``: The exchange is known and used, the wallet regularly queries /keys.
-update status:
+Transitions:
+
+* A transition from ``used`` to ``emphemeral`` is not possible,
+ since this would eventually remove preset exchanges and likely confuse
+ the user.
+
+Update Status
+~~~~~~~~~~~~~
* ``initial``: Not updated, no need to update
* ``initial(update)``: Update pending, possibly with error
@@ -67,7 +76,8 @@ update status:
* ``ready``: Exchange is useable.
* ``ready(update)``: Exchange is useable, but currently being updated.
-ToS status:
+ToS Status
+~~~~~~~~~~
* ``pending``: The wallet is still trying to download the ToS.
Possibly the last download attempt failed, will be reflected in an