taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 8dfa5ed2d3f188440c31541db26d68e8513ad693
parent dc4b4366aa1bbeb6ceb6140fdd8baf2913108d30
Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch>
Date:   Sat, 25 May 2024 14:03:49 +0200

Merge remote-tracking branch 'refs/remotes/origin/master'

Diffstat:
Mcore/api-bank-integration.rst | 5+++++
Mdesign-documents/037-wallet-transactions-lifecycle.rst | 11++++++++++-
Mimages/transaction-withdrawal-states.dot | 3+++
3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/core/api-bank-integration.rst b/core/api-bank-integration.rst @@ -107,6 +107,11 @@ for the withdrawal operation (the ``WITHDRAWAL_ID``) to interact with the withdr // @since **v1** status: "pending" | "selected" | "aborted" | "confirmed"; + // Currency used for the withdrawal. + // MUST be present when amount is absent. + // @since v2, may become mandatory in the future. + currency?: string; + // Amount that will be withdrawn with this operation // (raw amount without fee considerations). Only // given once the amount is fixed and cannot be changed. diff --git a/design-documents/037-wallet-transactions-lifecycle.rst b/design-documents/037-wallet-transactions-lifecycle.rst @@ -172,9 +172,18 @@ the courts) to avoid losing the funds for good. Transaction Type: Withdrawal ---------------------------- +* ``dialog(proposed)`` + + Initial dialog state for bank-integrated withdrawals. In this state, the user must confirm + the withdrawal to proceed, and possibly provide further information (such as the amount). + + Depending on how a bank-integrated withdrawal transaction is created, + it starts either in this state or in ``pending(bank-register-reserve)``. + + * ``pending(bank-register-reserve)`` - Initial state for bank-integrated withdrawals. The wallet submits the reserve public key + Initial active state for bank-integrated withdrawals. The wallet submits the reserve public key and selected exchange to the bank (via the bank integration API). Note that if the user aborts at this stage, we do not know if the bank is in the confirmation stage, so we must still *try* to abort the transaction at the bank. diff --git a/images/transaction-withdrawal-states.dot b/images/transaction-withdrawal-states.dot @@ -1,6 +1,7 @@ digraph G { initial_manual[label="", xlabel="manual" shape="circle"]; initial_bank[label="", xlabel="bank-integrated" shape="circle"]; + dialog_proposed[label="dialog(proposed)"]; pending_brr[label="bank-register-reserve"]; pending_bc[label="bank-confirm"]; pending_ewr[label="exchange-wait-reserve"]; @@ -25,6 +26,8 @@ digraph G { } initial_bank->pending_brr; + initial_bank->dialog_proposed; + dialog_proposed->pending_brr; initial_manual->pending_ewr; pending_brr->pending_bc [color="green"]; pending_brr->aborting_bank [style="dashed", color="blue", label="abort"];