commit 53522d8374146e0dd288f42e6c2636e9b7628cda
parent 39c5d0e92fd76e2c09101c3bb1b6dbdffb9fe6dc
Author: Florian Dold <florian@dold.me>
Date: Mon, 5 Jun 2023 11:19:32 +0200
DD37: force-abort and cancel-aborting is now simply fail
Diffstat:
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -118,7 +118,7 @@ transaction and puts it in an ``aborted`` state, or starts the necessary steps t
actively abort the transaction (e.g. to avoid losing money) and puts it in an
``aborting`` state.
-``[action:cancel-aborting]``: Directly puts an ``aborting`` transaction into a
+``[action:fail]``: Directly puts an ``aborting`` or ``pending`` transaction into a
``failed`` state. May result in an ultimate loss of funds (beyond fees) to the
user and thus requires additional consent.
@@ -718,7 +718,7 @@ States and transitions:
* ``[processed-success] => aborting(refresh)``: The purse was deleted successfully, and refunded coins must be refreshed.
* ``[processed-failed(already-merged)] => done``: The other party claimed the funds faster that we were able to abort.
* ``[processed-failed(other)] => aborting(refresh)``: The exchange reports a permanent error. We still try to refresh.
- * ``[action:abort-force] => failed``: The user explicitly asked us to give up and accepted the possible loss of funds.
+ * ``[action:fail] => failed``: The user explicitly asked us to give up and accepted the possible loss of funds.
* ``aborting(refund)``
@@ -726,13 +726,13 @@ States and transitions:
* ``[processed-success] => aborting(refresh)``: After the refund, we still need to refresh the coins.
* ``[processed-failure] => aborting(refresh)``: The refund failed, we still try to refresh the coins.
- * ``[action:abort-force] => failed``: The user explicitly asked us to give up and accepted the possible loss of funds.
+ * ``[action:fail] => failed``: The user explicitly asked us to give up and accepted the possible loss of funds.
* ``aborting(refresh)``
* ``[processed-success] => aborted``: Refresh group finished. Aborting was successful, money was reclaimed.
* ``[processed-failed] => failed``: Refresh group failed to complete with a permanent error.
- * ``[action:abort-force] => failed``: The user explicitly asked us to give up and accepted the possible loss of funds.
+ * ``[action:fail] => failed``: The user explicitly asked us to give up and accepted the possible loss of funds.
* ``done``
@@ -916,7 +916,7 @@ TODO: Also specify variant where account reserve needs to be created / funded fi
* ``[process-success] => aborted``: The wallet has deleted the purse.
* ``[failure:other] => failed``: The purse deletion failed; we are
nevertheless done.
- * ``[action:force-abort] => failed``: Money may be lost if it was deposited
+ * ``[action:fail] => failed``: Money may be lost if it was deposited
into the purse in the meantime.
* ``aborted``
@@ -1035,7 +1035,7 @@ Transaction Type: Peer Pull Debit
* ``[processed-success] => aborted(refunded)``
* ``[processed-failure] => aborting(refresh)``
- * ``[action:force-abort] => failed``
+ * ``[action:fail] => failed``
* ``aborting(refresh)``
diff --git a/transaction-common-states.dot b/transaction-common-states.dot
@@ -29,6 +29,7 @@ digraph G {
pending->pending [color="green",label="progress"];
pending->done [color="green",label="success"];
pending->failed [color="red",label="failure"];
+ pending->failed [color="blue",label="fail"];
pending->aborting [color="blue",label="abort", style="dashed"];
dialog->pending [color="blue",label="OK"];
dialog->deleted [color="blue", label="delete"];
@@ -41,9 +42,9 @@ digraph G {
aborting->aborted [color="green",label="success"];
aborting->suspended_aborting [color="blue",label="suspend"];
aborting->failed [color="red",label="failure"];
- aborting->failed [color="blue",label="cancel"];
+ aborting->failed [color="blue",label="fail"];
suspended_aborting->aborting [color="blue",label="resume"];
- suspended_aborting->failed [color="blue",label="cancel"];
+ suspended_aborting->failed [color="blue",label="fail"];
failed->deleted [color="blue",label="delete"];
expired->deleted [color="blue",label="delete"];
aborted->deleted [color="blue",label="delete"];