commit b52ff32d67833fa11917690255b59e740b8b1e70
parent dd1c2b2ed3fcbb0023741eb36853df43576d5b36
Author: Florian Dold <florian@dold.me>
Date: Thu, 16 Feb 2023 21:45:07 +0100
spec peer push credit transaction
Diffstat:
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst
@@ -138,7 +138,7 @@ States and transitions:
* ``pending(purse-created)``
- In this state, the user can send / show the `taler://` URI or QR code to somebody else.\
+ In this state, the user can send / show the ``taler://`` URI or QR code to somebody else.
* ``[action:abort] => aborting(delete-purse)``: The user aborts the P2P payment. The wallet tries to reclaim money in the purse.
* ``[purse-timeout] => aborting(refresh)``: The other party was too slow.
@@ -175,7 +175,35 @@ States and transitions:
Transaction Type: Peer Push Credit
----------------------------------
-TBD.
+Peer Push Credit transactions are created when the user accepts to be paid via
+a ``taler://pay-push`` URI.
+
+States and transitions:
+
+* ``pending(initial)``
+
+ * ``[processed-success] => pending(withdrawing)``: Merging the reserve was successful
+
+* ``pending(withdrawing)``
+
+ * ``[processed-kyc-required] => kyc-required``
+
+* ``kyc-required``
+
+ * ``[poll-success] => pending(withdrawing)``
+ * ``[action:abort] => aborted``: The user will lose the coins they were not able to withdraw yet, unless they
+ resume the transaction again.
+
+* ``aborted``
+
+ * ``[action:resume] => pending(withdrawing)``
+ * ``[action:delete] => deleted``: The user will irrevocable lose coins that were not withdrawn from the reserve yet.
+
+* ``done``
+
+ * ``[action:delete] => deleted``: No money will be lost, the withdrawn coins will be kept
+
+
Transaction Type: Peer Pull Credit
----------------------------------