From 5fe272750cf8986c9cab004d508da13b623112e2 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 5 Mar 2024 21:49:32 +0100 Subject: dd55 --- design-documents/055-wallet-problem-report.rst | 33 ++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/design-documents/055-wallet-problem-report.rst b/design-documents/055-wallet-problem-report.rst index 84c6159a..2fd7a221 100644 --- a/design-documents/055-wallet-problem-report.rst +++ b/design-documents/055-wallet-problem-report.rst @@ -5,6 +5,11 @@ DD 55: Wallet Problem Reports **Status**: Early work in progress / DD number reservation. +.. warning:: + + We concluded that we don't need the problem reports feature right now, + as all cases we care about are already covered by something else. + Summary ======= @@ -52,13 +57,35 @@ New wallet-core notification type Types of reports ---------------- +(Currently we don't have any good examples where this is actually needed.) + +Examples of what should NOT be a report +--------------------------------------- + * money lost due to the exchange stopping to offer a denomination + + * => Should be a transactions item + * money locked behind a (long) pending refresh + + * => Should be a pending transaction + * money lost due to a permanently failing refresh + + * => pending or final transaction item + * money lost due to expired denominations (auto-refresh wasn't done fast enough) -* exchange changed its master public key + + * => transaction item + * a denomination changed its info (expiration, fees) + * => exchange entry state + +* Important information about the exchange changed (master pub, accounts, keys) + + => exchange entry state + Definition of Done ================== @@ -68,7 +95,9 @@ TBD. Alternatives ============ -TBD. +* Report problems with an API specific to each resource (exchange entry, transaction, ...) +* Have an *alerts* API that returns alerts to the client that the client can show to to the user, + but that a user can't interact with. Drawbacks ========= -- cgit v1.2.3 From 05edb08e886c55dd9200a42e52e1bcb7007d13f4 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 5 Mar 2024 22:47:11 +0100 Subject: document new ADDRESS_RESTRICTIONS regex option --- manpages/challenger.conf.5.rst | 2 ++ taler-challenger-manual.rst | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/manpages/challenger.conf.5.rst b/manpages/challenger.conf.5.rst index a46b8461..66c46e80 100644 --- a/manpages/challenger.conf.5.rst +++ b/manpages/challenger.conf.5.rst @@ -71,6 +71,8 @@ AUTH_COMMAND ADDRESS_TYPE Type of the address that is being collected, returned as part of the ``address_type`` in the ``/info`` endpoint. Examples include ``email`` or ``phone``. +ADDRESS_RESTRICTIONS + JSON object with a map of keys (names of the fields of the address to be entered by the user) to objects with a "regex" (string) containing an extended Posix regular expression for allowed address field values, and a "hint"/"hint_i18n" giving a human-readable explanation to display if the value entered by the user does not match the regex. Keys that are not mapped to such an object have no restriction on the value provided by the user. Examples would be '{"email":{"hint":"valid e-mail address required","regex":"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"}' or '{"zip":{"hint":"numeric zip code required","regex":"^[0-9]+$"}'. SEE ALSO diff --git a/taler-challenger-manual.rst b/taler-challenger-manual.rst index a7a7169f..39b06710 100644 --- a/taler-challenger-manual.rst +++ b/taler-challenger-manual.rst @@ -1,7 +1,7 @@ .. This file is part of GNU TALER. - Copyright (C) 2023 Taler Systems SA + Copyright (C) 2023, 2024 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software @@ -558,6 +558,7 @@ file) is also supported. The template is instantiated using the following information: + * restrictions: Object; map of keys (names of the fields of the address to be entered by the user) to objects with a "regex" (string) containing an extended Posix regular expression for allowed address field values, and a "hint"/"hint_i18n" giving a human-readable explanation to display if the value entered by the user does not match the regex. Keys that are not mapped to such an object have no restriction on the value provided by the user. See "ADDRESS_RESTRICTIONS" in the challenger configuration. * fix_address: boolean; indicates if the given address cannot be changed anymore, the form should be read-only if set to true. -- cgit v1.2.3 From 126747a0d078626a221ccf96447b1f0e1988b50c Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 6 Mar 2024 14:56:01 -0300 Subject: screens from wallet webex --- .../webex-wallet/1-wallet-installed.png | Bin 0 -> 57887 bytes .../webex-wallet/add-exchange/1-balance.png | Bin 0 -> 30910 bytes .../add-exchange/10-testkudos-in-the-list.png | Bin 0 -> 32709 bytes .../add-exchange/11-select-test-kudos.png | Bin 0 -> 49363 bytes .../webex-wallet/add-exchange/2-click-get-cash.png | Bin 0 -> 36330 bytes .../add-exchange/3-click-add-exchange.png | Bin 0 -> 42139 bytes .../webex-wallet/add-exchange/4-input-URL.png | Bin 0 -> 56001 bytes .../webex-wallet/add-exchange/5-click-next.png | Bin 0 -> 37919 bytes .../webex-wallet/add-exchange/6-review-tos.png | Bin 0 -> 72501 bytes .../webex-wallet/add-exchange/7-accept-tos.png | Bin 0 -> 37051 bytes .../webex-wallet/add-exchange/8-confirm.png | Bin 0 -> 30910 bytes .../webex-wallet/add-exchange/9-click-get-cash.png | Bin 0 -> 36330 bytes .../webex-wallet/deposit/1-balance.png | Bin 0 -> 35087 bytes .../webex-wallet/deposit/10-balance.png | Bin 0 -> 47824 bytes .../webex-wallet/deposit/2-click-send.png | Bin 0 -> 47464 bytes .../webex-wallet/deposit/3-click-deposit.png | Bin 0 -> 35569 bytes .../webex-wallet/deposit/4-click-add-account.png | Bin 0 -> 54335 bytes .../webex-wallet/deposit/5-complete-form.png | Bin 0 -> 60639 bytes .../webex-wallet/deposit/6-click-add.png | Bin 0 -> 59490 bytes .../webex-wallet/deposit/7-confirm-deposit.png | Bin 0 -> 60419 bytes .../webex-wallet/deposit/8-show-transaction.png | Bin 0 -> 65622 bytes .../deposit/9-after-deposit-confirmed.png | Bin 0 -> 76645 bytes .../wallet-screenshots/webex-wallet/dev-tools.png | Bin 0 -> 95380 bytes .../webex-wallet/invoice/1-balance.png | Bin 0 -> 36026 bytes .../webex-wallet/invoice/10-confirm-transfer.png | Bin 0 -> 55732 bytes .../webex-wallet/invoice/11-show-history.png | Bin 0 -> 49646 bytes .../webex-wallet/invoice/2-click-add.png | Bin 0 -> 48365 bytes .../webex-wallet/invoice/3-input-six.png | Bin 0 -> 48827 bytes .../webex-wallet/invoice/4-click-invoice.png | Bin 0 -> 62019 bytes .../webex-wallet/invoice/5-complete-form.png | Bin 0 -> 64943 bytes .../webex-wallet/invoice/6-create-invoice.png | Bin 0 -> 73127 bytes .../webex-wallet/invoice/7-copy-qr-open-qr-page.png | Bin 0 -> 48070 bytes .../webex-wallet/invoice/8-paste-URI.png | Bin 0 -> 63650 bytes .../webex-wallet/invoice/9-click-open.png | Bin 0 -> 52823 bytes .../webex-wallet/payment/1-load-shop.png | Bin 0 -> 2449960 bytes .../webex-wallet/payment/10-click-article-URL.png | Bin 0 -> 76691 bytes .../webex-wallet/payment/2-click-first-article.png | Bin 0 -> 83759 bytes .../webex-wallet/payment/3-confirm-payment.png | Bin 0 -> 442385 bytes .../webex-wallet/payment/4-click-refund.png | Bin 0 -> 101347 bytes .../webex-wallet/payment/5-click-request-refund.png | Bin 0 -> 41768 bytes .../webex-wallet/payment/6-accept-refund.png | Bin 0 -> 85837 bytes .../webex-wallet/payment/7-click-refund-detail.png | Bin 0 -> 69279 bytes .../webex-wallet/payment/8-show-history.png | Bin 0 -> 81889 bytes .../webex-wallet/payment/9-click-receipt.png | Bin 0 -> 85837 bytes .../wallet-screenshots/webex-wallet/scan-qr-code.png | Bin 0 -> 36358 bytes .../webex-wallet/settings-developer-mode.png | Bin 0 -> 170233 bytes .../webex-wallet/settings-normal-mode.png | Bin 0 -> 47851 bytes .../webex-wallet/transfer/1-initial-balance.png | Bin 0 -> 36311 bytes .../webex-wallet/transfer/10-open-URI.png | Bin 0 -> 51973 bytes .../webex-wallet/transfer/11-accept-transfer.png | Bin 0 -> 49787 bytes .../webex-wallet/transfer/12-show-history.png | Bin 0 -> 47985 bytes .../webex-wallet/transfer/2-click-send.png | Bin 0 -> 47235 bytes .../webex-wallet/transfer/3-amount-five.png | Bin 0 -> 47547 bytes .../webex-wallet/transfer/4-send-wallet.png | Bin 0 -> 56300 bytes .../webex-wallet/transfer/5-complete-form.png | Bin 0 -> 58617 bytes .../webex-wallet/transfer/6-confirm-transfer.png | Bin 0 -> 77092 bytes .../webex-wallet/transfer/7-show-history.png | Bin 0 -> 55329 bytes .../webex-wallet/transfer/8-scan-qr.png | Bin 0 -> 48384 bytes .../webex-wallet/transfer/9-paste-URI.png | Bin 0 -> 64510 bytes .../withdrawal/10-transaction-completed.png | Bin 0 -> 44344 bytes .../withdrawal/11-history-after-withdraw.png | Bin 0 -> 35260 bytes .../webex-wallet/withdrawal/2-empty-wallet.png | Bin 0 -> 29113 bytes .../webex-wallet/withdrawal/3-get-digital-cash.png | Bin 0 -> 36120 bytes .../webex-wallet/withdrawal/4-select-kudos.png | Bin 0 -> 47910 bytes .../webex-wallet/withdrawal/5-set-amount-five.png | Bin 0 -> 48389 bytes .../webex-wallet/withdrawal/6-withdraw-from-bank.png | Bin 0 -> 52203 bytes .../webex-wallet/withdrawal/7-review-tos.png | Bin 0 -> 69841 bytes .../webex-wallet/withdrawal/8-accept-tos.png | Bin 0 -> 50475 bytes .../webex-wallet/withdrawal/9-confirm-withdraw.png | Bin 0 -> 148862 bytes 69 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/1-balance.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/10-testkudos-in-the-list.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/11-select-test-kudos.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/2-click-get-cash.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/3-click-add-exchange.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/4-input-URL.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/5-click-next.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/6-review-tos.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/7-accept-tos.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/8-confirm.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/add-exchange/9-click-get-cash.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/1-balance.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/10-balance.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/2-click-send.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/3-click-deposit.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/4-click-add-account.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/5-complete-form.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/6-click-add.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/7-confirm-deposit.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/8-show-transaction.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/deposit/9-after-deposit-confirmed.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/dev-tools.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/1-balance.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/10-confirm-transfer.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/11-show-history.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/2-click-add.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/3-input-six.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/4-click-invoice.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/5-complete-form.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/6-create-invoice.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/7-copy-qr-open-qr-page.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/8-paste-URI.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/invoice/9-click-open.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/1-load-shop.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/10-click-article-URL.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/2-click-first-article.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/3-confirm-payment.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/4-click-refund.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/5-click-request-refund.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/6-accept-refund.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/7-click-refund-detail.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/8-show-history.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/payment/9-click-receipt.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/scan-qr-code.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/settings-developer-mode.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/settings-normal-mode.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/1-initial-balance.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/10-open-URI.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/11-accept-transfer.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/12-show-history.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/2-click-send.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/3-amount-five.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/4-send-wallet.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/5-complete-form.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/6-confirm-transfer.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/7-show-history.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/8-scan-qr.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/transfer/9-paste-URI.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/10-transaction-completed.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/11-history-after-withdraw.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/2-empty-wallet.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/3-get-digital-cash.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/4-select-kudos.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/5-set-amount-five.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/6-withdraw-from-bank.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/7-review-tos.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/8-accept-tos.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/withdrawal/9-confirm-withdraw.png diff --git a/design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png b/design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png new file mode 100644 index 00000000..6036a6c9 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/1-balance.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/1-balance.png new file mode 100644 index 00000000..1041e2ee Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/1-balance.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/10-testkudos-in-the-list.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/10-testkudos-in-the-list.png new file mode 100644 index 00000000..12a53026 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/10-testkudos-in-the-list.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/11-select-test-kudos.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/11-select-test-kudos.png new file mode 100644 index 00000000..43e18c89 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/11-select-test-kudos.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/2-click-get-cash.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/2-click-get-cash.png new file mode 100644 index 00000000..d7d247f0 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/2-click-get-cash.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/3-click-add-exchange.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/3-click-add-exchange.png new file mode 100644 index 00000000..7a1a48e9 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/3-click-add-exchange.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/4-input-URL.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/4-input-URL.png new file mode 100644 index 00000000..efdf852a Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/4-input-URL.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/5-click-next.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/5-click-next.png new file mode 100644 index 00000000..9a2782f2 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/5-click-next.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/6-review-tos.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/6-review-tos.png new file mode 100644 index 00000000..44a85d6f Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/6-review-tos.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/7-accept-tos.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/7-accept-tos.png new file mode 100644 index 00000000..c73c5256 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/7-accept-tos.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/8-confirm.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/8-confirm.png new file mode 100644 index 00000000..1041e2ee Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/8-confirm.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/add-exchange/9-click-get-cash.png b/design-documents/wallet-screenshots/webex-wallet/add-exchange/9-click-get-cash.png new file mode 100644 index 00000000..d7d247f0 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/add-exchange/9-click-get-cash.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/1-balance.png b/design-documents/wallet-screenshots/webex-wallet/deposit/1-balance.png new file mode 100644 index 00000000..7c571c48 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/1-balance.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/10-balance.png b/design-documents/wallet-screenshots/webex-wallet/deposit/10-balance.png new file mode 100644 index 00000000..4e3a787b Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/10-balance.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/2-click-send.png b/design-documents/wallet-screenshots/webex-wallet/deposit/2-click-send.png new file mode 100644 index 00000000..2cdb5fe0 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/2-click-send.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/3-click-deposit.png b/design-documents/wallet-screenshots/webex-wallet/deposit/3-click-deposit.png new file mode 100644 index 00000000..afc4a431 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/3-click-deposit.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/4-click-add-account.png b/design-documents/wallet-screenshots/webex-wallet/deposit/4-click-add-account.png new file mode 100644 index 00000000..c91bc8d9 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/4-click-add-account.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/5-complete-form.png b/design-documents/wallet-screenshots/webex-wallet/deposit/5-complete-form.png new file mode 100644 index 00000000..77514161 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/5-complete-form.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/6-click-add.png b/design-documents/wallet-screenshots/webex-wallet/deposit/6-click-add.png new file mode 100644 index 00000000..e78538c7 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/6-click-add.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/7-confirm-deposit.png b/design-documents/wallet-screenshots/webex-wallet/deposit/7-confirm-deposit.png new file mode 100644 index 00000000..bf2c61bc Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/7-confirm-deposit.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/8-show-transaction.png b/design-documents/wallet-screenshots/webex-wallet/deposit/8-show-transaction.png new file mode 100644 index 00000000..381ae09e Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/8-show-transaction.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/deposit/9-after-deposit-confirmed.png b/design-documents/wallet-screenshots/webex-wallet/deposit/9-after-deposit-confirmed.png new file mode 100644 index 00000000..74c2026d Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/deposit/9-after-deposit-confirmed.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/dev-tools.png b/design-documents/wallet-screenshots/webex-wallet/dev-tools.png new file mode 100644 index 00000000..a817d055 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/dev-tools.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/1-balance.png b/design-documents/wallet-screenshots/webex-wallet/invoice/1-balance.png new file mode 100644 index 00000000..a6692c4f Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/1-balance.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/10-confirm-transfer.png b/design-documents/wallet-screenshots/webex-wallet/invoice/10-confirm-transfer.png new file mode 100644 index 00000000..2611c9f3 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/10-confirm-transfer.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/11-show-history.png b/design-documents/wallet-screenshots/webex-wallet/invoice/11-show-history.png new file mode 100644 index 00000000..52907939 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/11-show-history.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/2-click-add.png b/design-documents/wallet-screenshots/webex-wallet/invoice/2-click-add.png new file mode 100644 index 00000000..7834436d Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/2-click-add.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/3-input-six.png b/design-documents/wallet-screenshots/webex-wallet/invoice/3-input-six.png new file mode 100644 index 00000000..0f910210 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/3-input-six.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/4-click-invoice.png b/design-documents/wallet-screenshots/webex-wallet/invoice/4-click-invoice.png new file mode 100644 index 00000000..0d7c1b31 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/4-click-invoice.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/5-complete-form.png b/design-documents/wallet-screenshots/webex-wallet/invoice/5-complete-form.png new file mode 100644 index 00000000..625afb3c Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/5-complete-form.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/6-create-invoice.png b/design-documents/wallet-screenshots/webex-wallet/invoice/6-create-invoice.png new file mode 100644 index 00000000..def698a8 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/6-create-invoice.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/7-copy-qr-open-qr-page.png b/design-documents/wallet-screenshots/webex-wallet/invoice/7-copy-qr-open-qr-page.png new file mode 100644 index 00000000..fe221eac Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/7-copy-qr-open-qr-page.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/8-paste-URI.png b/design-documents/wallet-screenshots/webex-wallet/invoice/8-paste-URI.png new file mode 100644 index 00000000..26351cb9 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/8-paste-URI.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/invoice/9-click-open.png b/design-documents/wallet-screenshots/webex-wallet/invoice/9-click-open.png new file mode 100644 index 00000000..90393d3b Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/invoice/9-click-open.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/1-load-shop.png b/design-documents/wallet-screenshots/webex-wallet/payment/1-load-shop.png new file mode 100644 index 00000000..4aacc47b Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/1-load-shop.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/10-click-article-URL.png b/design-documents/wallet-screenshots/webex-wallet/payment/10-click-article-URL.png new file mode 100644 index 00000000..74488cb6 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/10-click-article-URL.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/2-click-first-article.png b/design-documents/wallet-screenshots/webex-wallet/payment/2-click-first-article.png new file mode 100644 index 00000000..31635b8a Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/2-click-first-article.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/3-confirm-payment.png b/design-documents/wallet-screenshots/webex-wallet/payment/3-confirm-payment.png new file mode 100644 index 00000000..016f5514 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/3-confirm-payment.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/4-click-refund.png b/design-documents/wallet-screenshots/webex-wallet/payment/4-click-refund.png new file mode 100644 index 00000000..4a3ddd39 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/4-click-refund.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/5-click-request-refund.png b/design-documents/wallet-screenshots/webex-wallet/payment/5-click-request-refund.png new file mode 100644 index 00000000..9b27cd5b Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/5-click-request-refund.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/6-accept-refund.png b/design-documents/wallet-screenshots/webex-wallet/payment/6-accept-refund.png new file mode 100644 index 00000000..a4b1c137 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/6-accept-refund.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/7-click-refund-detail.png b/design-documents/wallet-screenshots/webex-wallet/payment/7-click-refund-detail.png new file mode 100644 index 00000000..14291836 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/7-click-refund-detail.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/8-show-history.png b/design-documents/wallet-screenshots/webex-wallet/payment/8-show-history.png new file mode 100644 index 00000000..2758f7f3 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/8-show-history.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/payment/9-click-receipt.png b/design-documents/wallet-screenshots/webex-wallet/payment/9-click-receipt.png new file mode 100644 index 00000000..a4b1c137 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/payment/9-click-receipt.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/scan-qr-code.png b/design-documents/wallet-screenshots/webex-wallet/scan-qr-code.png new file mode 100644 index 00000000..ae28e3db Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/scan-qr-code.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/settings-developer-mode.png b/design-documents/wallet-screenshots/webex-wallet/settings-developer-mode.png new file mode 100644 index 00000000..c93883dc Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/settings-developer-mode.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/settings-normal-mode.png b/design-documents/wallet-screenshots/webex-wallet/settings-normal-mode.png new file mode 100644 index 00000000..50f70cab Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/settings-normal-mode.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/1-initial-balance.png b/design-documents/wallet-screenshots/webex-wallet/transfer/1-initial-balance.png new file mode 100644 index 00000000..20e74cf3 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/1-initial-balance.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/10-open-URI.png b/design-documents/wallet-screenshots/webex-wallet/transfer/10-open-URI.png new file mode 100644 index 00000000..22f21f89 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/10-open-URI.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/11-accept-transfer.png b/design-documents/wallet-screenshots/webex-wallet/transfer/11-accept-transfer.png new file mode 100644 index 00000000..9ee2083a Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/11-accept-transfer.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/12-show-history.png b/design-documents/wallet-screenshots/webex-wallet/transfer/12-show-history.png new file mode 100644 index 00000000..d2d12ca8 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/12-show-history.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/2-click-send.png b/design-documents/wallet-screenshots/webex-wallet/transfer/2-click-send.png new file mode 100644 index 00000000..0e705860 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/2-click-send.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/3-amount-five.png b/design-documents/wallet-screenshots/webex-wallet/transfer/3-amount-five.png new file mode 100644 index 00000000..ffe4bee7 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/3-amount-five.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/4-send-wallet.png b/design-documents/wallet-screenshots/webex-wallet/transfer/4-send-wallet.png new file mode 100644 index 00000000..f566b0cb Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/4-send-wallet.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/5-complete-form.png b/design-documents/wallet-screenshots/webex-wallet/transfer/5-complete-form.png new file mode 100644 index 00000000..836755ca Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/5-complete-form.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/6-confirm-transfer.png b/design-documents/wallet-screenshots/webex-wallet/transfer/6-confirm-transfer.png new file mode 100644 index 00000000..55de4bb0 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/6-confirm-transfer.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/7-show-history.png b/design-documents/wallet-screenshots/webex-wallet/transfer/7-show-history.png new file mode 100644 index 00000000..39de7b66 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/7-show-history.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/8-scan-qr.png b/design-documents/wallet-screenshots/webex-wallet/transfer/8-scan-qr.png new file mode 100644 index 00000000..cacdce06 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/8-scan-qr.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/transfer/9-paste-URI.png b/design-documents/wallet-screenshots/webex-wallet/transfer/9-paste-URI.png new file mode 100644 index 00000000..32ac0ff4 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/transfer/9-paste-URI.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/10-transaction-completed.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/10-transaction-completed.png new file mode 100644 index 00000000..2a774334 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/10-transaction-completed.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/11-history-after-withdraw.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/11-history-after-withdraw.png new file mode 100644 index 00000000..54b05212 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/11-history-after-withdraw.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/2-empty-wallet.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/2-empty-wallet.png new file mode 100644 index 00000000..79fc787b Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/2-empty-wallet.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/3-get-digital-cash.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/3-get-digital-cash.png new file mode 100644 index 00000000..273d5f5f Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/3-get-digital-cash.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/4-select-kudos.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/4-select-kudos.png new file mode 100644 index 00000000..741ac32a Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/4-select-kudos.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/5-set-amount-five.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/5-set-amount-five.png new file mode 100644 index 00000000..8454928b Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/5-set-amount-five.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/6-withdraw-from-bank.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/6-withdraw-from-bank.png new file mode 100644 index 00000000..e0942a0c Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/6-withdraw-from-bank.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/7-review-tos.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/7-review-tos.png new file mode 100644 index 00000000..505e06d3 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/7-review-tos.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/8-accept-tos.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/8-accept-tos.png new file mode 100644 index 00000000..61d3c0a4 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/8-accept-tos.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/withdrawal/9-confirm-withdraw.png b/design-documents/wallet-screenshots/webex-wallet/withdrawal/9-confirm-withdraw.png new file mode 100644 index 00000000..579803cc Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/withdrawal/9-confirm-withdraw.png differ -- cgit v1.2.3 From 77a8fa7279f149b3cd04cb953b0f7b826c875175 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 6 Mar 2024 15:29:28 -0300 Subject: store imgs --- .../webex-wallet/1-wallet-installed.png | Bin 57887 -> 0 bytes .../wallet-screenshots/webex-wallet/READE | 22 +++++++++++++++++++++ .../webex-wallet/store-installed.png | Bin 0 -> 32548 bytes .../webex-wallet/store-payment.png | Bin 0 -> 28060 bytes .../webex-wallet/store-withdraw.png | Bin 0 -> 20772 bytes 5 files changed, 22 insertions(+) delete mode 100644 design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/READE create mode 100644 design-documents/wallet-screenshots/webex-wallet/store-installed.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/store-payment.png create mode 100644 design-documents/wallet-screenshots/webex-wallet/store-withdraw.png diff --git a/design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png b/design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png deleted file mode 100644 index 6036a6c9..00000000 Binary files a/design-documents/wallet-screenshots/webex-wallet/1-wallet-installed.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/webex-wallet/READE b/design-documents/wallet-screenshots/webex-wallet/READE new file mode 100644 index 00000000..597fa22e --- /dev/null +++ b/design-documents/wallet-screenshots/webex-wallet/READE @@ -0,0 +1,22 @@ +Wallet Web Extension screenshots +-------------------------------- + +Screenshoots are organized by common use case using +the happy path to ilustrate the user flow: + + * withdrawal: starts from an empty wallet and performs + a manual withdrawal with demo exchange. + * payment: starts from demo shop and pay for an article. + also showing how a refund looks. + * transfer: performs a p2p push debit and credit. + * invoice: performs a p2p pull credit and debit. + * deposit: starts from a wallet with some balance + and deposit into a bank account new yet + known by the wallet. + * add-exchange: add the test exchange into the wallet. + +In this root folder there are some additionals screen for +settings, dev tools and others. + +Screenshot starting with "store-*" are used in chrome webstore +and firefox addon store. diff --git a/design-documents/wallet-screenshots/webex-wallet/store-installed.png b/design-documents/wallet-screenshots/webex-wallet/store-installed.png new file mode 100644 index 00000000..67c481fc Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/store-installed.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/store-payment.png b/design-documents/wallet-screenshots/webex-wallet/store-payment.png new file mode 100644 index 00000000..3f776696 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/store-payment.png differ diff --git a/design-documents/wallet-screenshots/webex-wallet/store-withdraw.png b/design-documents/wallet-screenshots/webex-wallet/store-withdraw.png new file mode 100644 index 00000000..8409a0b9 Binary files /dev/null and b/design-documents/wallet-screenshots/webex-wallet/store-withdraw.png differ -- cgit v1.2.3 From 70d848507ba233fa9e530481cd7816c399db6d19 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 6 Mar 2024 23:25:57 +0100 Subject: document fix for #8369 --- manpages/taler.conf.5.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manpages/taler.conf.5.rst b/manpages/taler.conf.5.rst index 3748b673..3074f68b 100644 --- a/manpages/taler.conf.5.rst +++ b/manpages/taler.conf.5.rst @@ -182,6 +182,12 @@ BASE_URL Added to wire transfers to enable tracking by merchants. Used by the KYC logic when interacting with OAuth 2.0. +TOPLEVEL_REDIRECT_URL + Where to redirect visitors that access the top-level + "/" endpoint of the exchange. Should point users to + information about the exchange operator. + Optional setting, defaults to "/terms". + AGGREGATOR_IDLE_SLEEP_INTERVAL For how long should the taler-exchange-aggregator sleep when it is idle before trying to look for more work? Default is 60 seconds. -- cgit v1.2.3 From e39dd668c013a44854d8b9fd62b486a90f6931b9 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 09:52:56 +0100 Subject: fix bad anchor warning --- manpages/challenger.conf.5.rst | 2 +- taler-developer-manual.rst | 114 +++++++++++++++++------------------------ 2 files changed, 49 insertions(+), 67 deletions(-) diff --git a/manpages/challenger.conf.5.rst b/manpages/challenger.conf.5.rst index 66c46e80..626d11f7 100644 --- a/manpages/challenger.conf.5.rst +++ b/manpages/challenger.conf.5.rst @@ -72,7 +72,7 @@ ADDRESS_TYPE Type of the address that is being collected, returned as part of the ``address_type`` in the ``/info`` endpoint. Examples include ``email`` or ``phone``. ADDRESS_RESTRICTIONS - JSON object with a map of keys (names of the fields of the address to be entered by the user) to objects with a "regex" (string) containing an extended Posix regular expression for allowed address field values, and a "hint"/"hint_i18n" giving a human-readable explanation to display if the value entered by the user does not match the regex. Keys that are not mapped to such an object have no restriction on the value provided by the user. Examples would be '{"email":{"hint":"valid e-mail address required","regex":"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"}' or '{"zip":{"hint":"numeric zip code required","regex":"^[0-9]+$"}'. + JSON object with a map of keys (names of the fields of the address to be entered by the user) to objects with a "regex" (string) containing an extended Posix regular expression for allowed address field values, and a "hint"/"hint_i18n" giving a human-readable explanation to display if the value entered by the user does not match the regex. Keys that are not mapped to such an object have no restriction on the value provided by the user. Examples would be '{"email":{"hint":"valid e-mail address required","regex":"^[a-zA-Z0-9\_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"}' or '{"zip":{"hint":"numeric zip code required","regex":"^[0-9]+$"}'. SEE ALSO diff --git a/taler-developer-manual.rst b/taler-developer-manual.rst index 1aa5cc8d..3035e55d 100644 --- a/taler-developer-manual.rst +++ b/taler-developer-manual.rst @@ -1524,18 +1524,16 @@ use when talking to end users or even system administrators. trusted third party that verifies that the :term:`exchange` is operating correctly bank - traditional financial service provider who offers wire :term:`transfers ` between accounts + traditional financial service provider who offers + :term:`wire transfers ` between accounts buyer individual in control of a Taler :term:`wallet`, usually using it to - :term:`spend` the :term:`coins` on :term:`contracts` (see also :term:`customer`). + :term:`spend` the :term:`coins ` on :term:`contracts ` (see also :term:`customer`). close - closes - closed - closing operation an :term:`exchange` performs on a :term:`reserve` that has not been - :term:`drained` by :term:`withdraw` operations. When closing a reserve, the + :term:`emptied ` by :term:`withdraw` operations. When closing a reserve, the exchange wires the remaining funds back to the customer, minus a :term:`fee` for closing @@ -1543,10 +1541,8 @@ use when talking to end users or even system administrators. individual that directs the buyer (perhaps the same individual) to make a purchase coin - coins coins are individual token representing a certain amount of value, also known as the :term:`denomination` of the coin - commitment refresh commitment data that the wallet commits to during the :term:`melt` stage of the :term:`refresh` protocol where it @@ -1555,9 +1551,8 @@ use when talking to end users or even system administrators. probabilistically (see: :term:`kappa`) during the :term:`reveal` stage. contract - contracts formal agreement between :term:`merchant` and :term:`customer` specifying the - :term:`contract terms` and signed by the merchant and the :term:`coins` of the + :term:`contract terms` and signed by the merchant and the :term:`coins ` of the customer contract terms @@ -1573,32 +1568,32 @@ use when talking to end users or even system administrators. particular :term:`denomination` deposit - deposits - depositing operation by which a merchant passes coins to an exchange, expecting the exchange to credit his bank account in the future using an :term:`aggregate` :term:`wire transfer` drain - drained - a :term:`reserve` is being drained when a :term:`wallet` is using the - reserve's private key to :term:`withdraw` coins from it. This reduces - the balance of the reserve. Once the balance reaches zero, we say that - the reserve has been (fully) drained. Reserves that are not drained - (which is the normal process) are :term:`closed` by the exchange. + process by which an exchange operator takes the profits + (from :term:`fees `) out of the escrow account and moves them into + their regular business account dirty - dirty coin - a coin is dirty if its public key may be known to an entity other than + a :term:`coin` is dirty if its public key may be known to an entity other than the customer, thereby creating the danger of some entity being able to link multiple transactions of coin's owner if the coin is not refreshed + empty + a :term:`reserve` is being emptied when a :term:`wallet` is using the + reserve's private key to :term:`withdraw` coins from it. This reduces + the balance of the reserve. Once the balance reaches zero, we say that + the reserve has been (fully) emptied. Reserves that are not emptied + (which is the normal process) are :term:`closed ` by the exchange. + exchange Taler's payment service operator. Issues electronic coins during withdrawal and redeems them when they are deposited by merchants expired - expiration Various operations come with time limits. In particular, denomination keys come with strict time limits for the various operations involving the coin issued under the denomination. The most important limit is the @@ -1620,18 +1615,17 @@ use when talking to end users or even system administrators. fee an :term:`exchange` charges various fees for its service. The different fees are specified in the protocol. There are fees per coin for - :term:`withdrawing`, :term:`depositing`, :term:`melting`, and - :term:`refunding`. Furthermore, there are fees per wire transfer - for :term:`closing` a :term:`reserve`: and for - :term:`aggregate` :term:`wire transfers` to the :term:`merchant`. + :term:`withdrawing `, :term:`depositing `, :term:`melting `, and + :term:`refunding `. Furthermore, there are fees per wire transfer + when a :term:`reserve` is :term:`closed ` + and for :term:`aggregate` :term:`wire transfers ` + to the :term:`merchant`. fresh - fresh coin - a coin is fresh if its public key is only known to the customer + a :term:`coin` is fresh if its public key is only known to the customer - json JSON - JavaScript Object Notation + JavaScript Object Notation (JSON) is a serialization format derived from the JavaScript language which is commonly used in the Taler protocol as the payload of HTTP requests and responses. @@ -1641,11 +1635,11 @@ use when talking to end users or even system administrators. The probability of successfully evading the income transparency with the refresh protocol is 1:kappa. - LibEuFin - FIXME: explain + libeufin + Kotlin component that implements a regional currency bank and an + adapter to communicate via EBICS with European core banking systems. link - linking specific step in the :term:`refresh` protocol that an exchange must offer to prevent abuse of the :term:`refresh` mechanism. The link step is not needed in normal operation, it just must be offered. @@ -1655,9 +1649,7 @@ use when talking to end users or even system administrators. message signing keys melt - melted - melting - step of the :term:`refresh` protocol where a :term:`dirty coin` + step of the :term:`refresh` protocol where a :term:`dirty` :term:`coin` is invalidated to be reborn :term:`fresh` in a subsequent :term:`reveal` step. @@ -1683,19 +1675,19 @@ use when talking to end users or even system administrators. recoup Operation by which an exchange returns the value of coins affected - by a :term:`revocation` to their :term:`owner`, either by allowing the owner to + by a :term:`revocation ` to their :term:`owner`, either by allowing the owner to withdraw new coins or wiring funds back to the bank account of the :term:`owner`. planchet precursor data for a :term:`coin`. A planchet includes the coin's internal secrets (coin private key, blinding factor), but lacks the RSA signature - of the :term:`exchange`. When :term:`withdrawing`, a :term:`wallet` + of the :term:`exchange`. When :term:`withdrawing `, a :term:`wallet` creates and persists a planchet before asking the exchange to sign it to get the coin. purchase Refers to the overall process of negotiating a :term:`contract` and then - making a payment with :term:`coins` to a :term:`merchant`. + making a payment with :term:`coins ` to a :term:`merchant`. privacy policy Statement of an operator how they will protect the privacy of users. @@ -1708,13 +1700,11 @@ use when talking to end users or even system administrators. merchant backend. refresh - refreshing - operation by which a :term:`dirty coin` is converted into one or more - :term:`fresh` coins. Involves :term:`melting` the :term:`dirty coin` and - then :term:`revealing` so-called :term:`transfer keys`. + operation by which a :term:`dirty` :term:`coin` is converted into one or more + :term:`fresh` coins. Involves :term:`melting ` the :term:`dirty` coins and + then :term:`revealing ` so-called :term:`transfer keys `. refund - refunding operation by which a merchant steps back from the right to funds that he obtained from a :term:`deposit` operation, giving the right to the funds back to the customer @@ -1726,25 +1716,23 @@ use when talking to end users or even system administrators. reserve accounting mechanism used by the exchange to track customer funds - from incoming :term:`wire transfers`. A reserve is created whenever + from incoming :term:`wire transfers `. A reserve is created whenever a customer wires money to the exchange using a well-formed public key in the subject. The exchange then allows the customer's :term:`wallet` to :term:`withdraw` up to the amount received in :term:`fresh` - :term:`coins` from the reserve, thereby draining the reserve. If a - reserve is not drained, the exchange eventually :term:`closes` it. + :term:`coins ` from the reserve, thereby emptying the reserve. If a + reserve is not emptied, the exchange will eventually :term:`close` it. Other definition: Funds set aside for future use; either the balance of a customer at the exchange ready for withdrawal, or the funds kept in the exchange;s bank account to cover obligations from coins in circulation. reveal - revealing step in the :term:`refresh` protocol where some of the transfer private keys are revealed to prove honest behavior on the part of the wallet. In the reveal step, the exchange returns the signed :term:`fresh` coins. revoke - revocation exceptional operation by which an exchange withdraws a denomination from circulation, either because the signing key was compromised or because the exchange is going out of operation; unspent coins of a revoked @@ -1756,22 +1744,14 @@ use when talking to end users or even system administrators. time. spend - spending operation by which a customer gives a merchant the right to deposit coins in return for merchandise - transfer - transfers - wire transfer - wire transfers - method of sending funds between :term:`bank` accounts - transfer key - transfer keys special cryptographic key used in the :term:`refresh` protocol, some of which are revealed during the :term:`reveal` step. Note that transfer keys have, - despite the name, no relationship to :term:`wire transfers`. They merely - help to transfer the value from a :term:`dirty coin` to a :term:`fresh coin` + despite the name, no relationship to :term:`wire transfers `. They merely + help to transfer the value from a :term:`dirty` coin to a :term:`fresh` coin terms the general terms of service of an operator, possibly including @@ -1804,25 +1784,27 @@ use when talking to end users or even system administrators. Cross-browser API used to implement the GNU Taler wallet browser extension. wire gateway - FIXME: explain + API used by the exchange to talk with some real-time gross settlement system + (core banking system, blockchain) to notice inbound credits wire transfers + (during withdraw) and to trigger outbound debit wire transfers (primarily + for deposits). + + wire transfer + a wire transfer is a method of sending funds between :term:`bank` accounts wire transfer identifier - wtid Subject of a wire transfer from the exchange to a merchant; set by the aggregator to a random nonce which uniquely identifies the transfer. withdraw - withdrawing - withdrawal operation by which a :term:`wallet` can convert funds from a :term:`reserve` to fresh coins zombie - zombie coin - coin where the respective :term:`denomination key` is past its - :term:`deposit` :term:`expiration` time, but which is still (again) valid - for an operation because it was :term:`melted` while it was still + :term:`coin` where the respective :term:`denomination key` is past its + :term:`deposit` :term:`expiration ` time, but which is still (again) valid + for an operation because it was :term:`melted ` while it was still valid, and then later again credited during a :term:`recoup` process -- cgit v1.2.3 From 570cd03a8a39605fe667067cc0b84701e441c680 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 10:01:29 +0100 Subject: -fix build issues --- core/api-merchant.rst | 2 +- design-documents/054-dynamic-form.rst | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/api-merchant.rst b/core/api-merchant.rst index 00e4a7f6..a291d9cf 100644 --- a/core/api-merchant.rst +++ b/core/api-merchant.rst @@ -2789,7 +2789,7 @@ to validate that a customer made a payment. // ``otp_algorithm`` and matching client query arguments. // // Available since protocol **v10**. - otp_code?: String; + otp_code?: string; } diff --git a/design-documents/054-dynamic-form.rst b/design-documents/054-dynamic-form.rst index 6ff84d41..d93b3684 100644 --- a/design-documents/054-dynamic-form.rst +++ b/design-documents/054-dynamic-form.rst @@ -51,7 +51,7 @@ readOnly (flag to disable input), onUpdate (callback on form data update), and computeFormState (function to derive the form state based on current data). -.. code-block:: javascript +.. code-block:: typescript interface FormType { value: Partial; @@ -82,7 +82,7 @@ The field type ``AmountJson`` and ``AbsoluteTime`` are opaque since field is use The form can be instanciated using -.. code-block:: javascript +.. code-block:: typescript import { FormProvider } from "@gnu-taler/web-util/browser"; @@ -90,7 +90,7 @@ The form can be instanciated using Then the field component can access all the properties by the ``useField(name)`` hook, which will return -.. code-block:: javascript +.. code-block:: typescript interface InputFieldHandler { value: Type; @@ -116,10 +116,10 @@ A set of common form field exist in ``@gnu-taler/web-util``: and should be used inside a ``Form`` context. -.. code-block:: javascript +.. code-block:: none function MyFormComponent():VNode { - return + return @@ -132,7 +132,7 @@ Example Consider a form shape represented by the TypeScript type: -.. code-block:: javascript +.. code-block:: typescript type TheFormType = { name: string, @@ -148,7 +148,7 @@ Consider a form shape represented by the TypeScript type: An example instance of this form could be: -.. code-block:: javascript +.. code-block:: typescript const theFormValue: TheFormType = { name: "Sebastian", -- cgit v1.2.3 From a864b45f2454038b7a6055b6b44c53bfc5b2f6f4 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 10:08:27 +0100 Subject: -fix more build issues --- core/api-bank-revenue.rst | 2 +- design-documents/024-age-restriction.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/api-bank-revenue.rst b/core/api-bank-revenue.rst index a647fb35..98b38113 100644 --- a/core/api-bank-revenue.rst +++ b/core/api-bank-revenue.rst @@ -110,7 +110,7 @@ Querying the transaction history **Response:** :http:statuscode:`200 OK`: - JSON object of type `MerchantIncomingHistory`. + JSON object of type `RevenueIncomingHistory`. :http:statuscode:`400 Bad request`: Request malformed. The bank replies with an `ErrorDetail` object. :http:statuscode:`401 Unauthorized`: diff --git a/design-documents/024-age-restriction.rst b/design-documents/024-age-restriction.rst index ee478ee1..0445aa6d 100644 --- a/design-documents/024-age-restriction.rst +++ b/design-documents/024-age-restriction.rst @@ -247,7 +247,7 @@ changed since the given timestamp. // Similar as for ``.denoms``, if the query parameter ``last_issue_date`` // was provided by the client, the exchange will only return the keys that // have changed since the given timestamp. - age_restricted_denoms: Denom[]; + age_restricted_denoms: DenomCommon[]; //... } -- cgit v1.2.3 From d13c3cb6a5a7a2da100c0479a38ffe9d1df5fe2c Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 10:27:37 +0100 Subject: fix name --- core/api-corebank.rst | 8 +++---- images/kyc-process.pdf | Bin 0 -> 24633 bytes images/kyc-process.png | Bin 0 -> 44435 bytes images/kyc-process.tex | 58 ++++++++++++++++++++++++++++++++++++++++++++++ kyc-process.pdf | Bin 24633 -> 0 bytes kyc-process.png | Bin 44435 -> 0 bytes kyc-process.tex | 58 ---------------------------------------------- taler-exchange-manual.rst | 2 +- 8 files changed, 63 insertions(+), 63 deletions(-) create mode 100644 images/kyc-process.pdf create mode 100644 images/kyc-process.png create mode 100644 images/kyc-process.tex delete mode 100644 kyc-process.pdf delete mode 100644 kyc-process.png delete mode 100644 kyc-process.tex diff --git a/core/api-corebank.rst b/core/api-corebank.rst index e1cb4fb6..851fc3ba 100644 --- a/core/api-corebank.rst +++ b/core/api-corebank.rst @@ -83,7 +83,7 @@ Config // The format is "current:revision:age". version: string; - // Bank display name to be used in user interfaces. + // Bank display name to be used in user interfaces. // For consistency use "Taler Bank" if missing. // @since v4, will become mandatory in the next version. bank_name?: string; @@ -175,7 +175,7 @@ Account Management cashout_payto_uri?: string; // Internal payto URI of this bank account. - // Used mostly for testing, this field is ignored if the bank payment + // Used mostly for testing, this field is ignored if the bank payment // method is not IBAN. payto_uri?: string; @@ -507,7 +507,7 @@ Account Management // as well. contact_data?: ChallengeContactData; - // IBAN 'payto' URI with a 'receiver-name' parameter of a fiat bank + // IBAN 'payto' URI with a 'receiver-name' parameter of a fiat bank // account where to send cashouts. This field is optional // because not all the accounts are required to participate // in the merchants' circuit. One example is the exchange: @@ -831,7 +831,7 @@ Cashouts :http:statuscode:`200 OK`: The cashout request was correctly created. - This returns the `CashoutPending` response. + This returns the `CashoutResponse` response. :http:statuscode:`202 Accepted`: 2FA is required for this operation. This returns the `Challenge` response. :http:statuscode:`404 Not found`: diff --git a/images/kyc-process.pdf b/images/kyc-process.pdf new file mode 100644 index 00000000..8b178c02 Binary files /dev/null and b/images/kyc-process.pdf differ diff --git a/images/kyc-process.png b/images/kyc-process.png new file mode 100644 index 00000000..563418b1 Binary files /dev/null and b/images/kyc-process.png differ diff --git a/images/kyc-process.tex b/images/kyc-process.tex new file mode 100644 index 00000000..c10dd8d9 --- /dev/null +++ b/images/kyc-process.tex @@ -0,0 +1,58 @@ +\documentclass[fleqn]{article} +\usepackage{amsmath} +\usepackage{multimedia} +\usepackage[utf8]{inputenc} +\usepackage{framed,color,ragged2e} +\usepackage[absolute,overlay]{textpos} +\usepackage{xcolor} +\usepackage{relsize} +\usepackage{graphicx} +\usepackage{tikz,eurosym,calc} +\usetikzlibrary{tikzmark} +\usetikzlibrary{shapes,arrows,arrows.meta} +\usetikzlibrary{positioning,fit,patterns} +\usetikzlibrary{calc} +\usepackage{pgf-umlsd} +\usepackage{relsize} + +\pagestyle{empty} +\begin{document} + +\begin{sequencediagram} + \newinst{customer}{Customer} + \newinst[4]{ex}{Exchange} + \newinst[4]{kyc}{KYC Provider} + \postlevel + \mess[0]{customer}{POST: payment request}{ex} + \mess[0]{ex}{POST: initiate KYC}{kyc} + \mess[0]{kyc}{KYC-Start-URL}{ex} + \mess[0]{ex}{KYC-Start-URL}{customer} + \postlevel + \mess[0]{customer}{GET: KYC-Start-URL}{kyc} + \mess[0]{kyc}{KYC Web Form}{customer} + \mess[0]{customer}{POST: KYC data}{kyc} + \mess[0]{kyc}{redirect URL or pending}{customer} + \postlevel + \begin{sdblock}{alternative}{} + \mess[0]{customer}{GET: redirect URL}{ex} + \mess[0]{ex}{Thanks!}{customer} + \end{sdblock} + \prelevel + \prelevel + \prelevel + \prelevel + \prelevel + \begin{sdblock}{alternative}{} + \mess[0]{kyc}{Async validation finished Webhook}{ex} + \mess[0]{ex}{Thanks!}{kyc} + \end{sdblock} + \postlevel + \mess[0]{ex}{GET: KYC status?}{kyc} + \mess[0]{kyc}{KYC data}{ex} + \mess[0]{customer}{POST: payment request}{ex} + \mess[0]{ex}{normal response}{customer} +\end{sequencediagram} + +\end{document} + + diff --git a/kyc-process.pdf b/kyc-process.pdf deleted file mode 100644 index 8b178c02..00000000 Binary files a/kyc-process.pdf and /dev/null differ diff --git a/kyc-process.png b/kyc-process.png deleted file mode 100644 index 563418b1..00000000 Binary files a/kyc-process.png and /dev/null differ diff --git a/kyc-process.tex b/kyc-process.tex deleted file mode 100644 index c10dd8d9..00000000 --- a/kyc-process.tex +++ /dev/null @@ -1,58 +0,0 @@ -\documentclass[fleqn]{article} -\usepackage{amsmath} -\usepackage{multimedia} -\usepackage[utf8]{inputenc} -\usepackage{framed,color,ragged2e} -\usepackage[absolute,overlay]{textpos} -\usepackage{xcolor} -\usepackage{relsize} -\usepackage{graphicx} -\usepackage{tikz,eurosym,calc} -\usetikzlibrary{tikzmark} -\usetikzlibrary{shapes,arrows,arrows.meta} -\usetikzlibrary{positioning,fit,patterns} -\usetikzlibrary{calc} -\usepackage{pgf-umlsd} -\usepackage{relsize} - -\pagestyle{empty} -\begin{document} - -\begin{sequencediagram} - \newinst{customer}{Customer} - \newinst[4]{ex}{Exchange} - \newinst[4]{kyc}{KYC Provider} - \postlevel - \mess[0]{customer}{POST: payment request}{ex} - \mess[0]{ex}{POST: initiate KYC}{kyc} - \mess[0]{kyc}{KYC-Start-URL}{ex} - \mess[0]{ex}{KYC-Start-URL}{customer} - \postlevel - \mess[0]{customer}{GET: KYC-Start-URL}{kyc} - \mess[0]{kyc}{KYC Web Form}{customer} - \mess[0]{customer}{POST: KYC data}{kyc} - \mess[0]{kyc}{redirect URL or pending}{customer} - \postlevel - \begin{sdblock}{alternative}{} - \mess[0]{customer}{GET: redirect URL}{ex} - \mess[0]{ex}{Thanks!}{customer} - \end{sdblock} - \prelevel - \prelevel - \prelevel - \prelevel - \prelevel - \begin{sdblock}{alternative}{} - \mess[0]{kyc}{Async validation finished Webhook}{ex} - \mess[0]{ex}{Thanks!}{kyc} - \end{sdblock} - \postlevel - \mess[0]{ex}{GET: KYC status?}{kyc} - \mess[0]{kyc}{KYC data}{ex} - \mess[0]{customer}{POST: payment request}{ex} - \mess[0]{ex}{normal response}{customer} -\end{sequencediagram} - -\end{document} - - diff --git a/taler-exchange-manual.rst b/taler-exchange-manual.rst index 57db7095..f0c345c7 100644 --- a/taler-exchange-manual.rst +++ b/taler-exchange-manual.rst @@ -978,7 +978,7 @@ Taler permits an exchange to require KYC data under the following circumstances: Any of the above requests can trigger the KYC process, which can be illustrated as follows: -.. image:: kyc-process.png +.. image:: images/kyc-process.png At the end of the KYC process, the wallet re-tries the original request, and assuming KYC was successful, the -- cgit v1.2.3 From 7768e98a8e1d27f8c612757e145d9076dfc9d9ea Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 11:32:55 +0100 Subject: fix categories --- conf.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/conf.py b/conf.py index 9e16a795..d19481ed 100644 --- a/conf.py +++ b/conf.py @@ -765,54 +765,54 @@ texinfo_documents = [ "taler-auditor", "Taler Auditor Manual", "GNU Taler team", - "MENU ENTRY", - "DESCRIPTION", - "CATEGORY", + "GNU Taler Auditor", + "External audit for Taler Exchange operation", + "Networking", ), ( "taler-exchange-manual", "taler-exchange", "Taler Exchange Manual", "GNU Taler team", - "MENU ENTRY", - "DESCRIPTION", - "CATEGORY", + "GNU Taler Exchange", + "Taler payment service provider", + "Networking", ), ( "taler-challenger-manual", "challenger", "Taler Challenger Manual", "GNU Taler team", - "MENU ENTRY", - "DESCRIPTION", - "CATEGORY", + "Challenger", + "OAuth2-based customer address validation service", + "Networking", ), ( "taler-merchant-manual", "taler-merchant", "Taler Merchant Manual", "GNU Taler team", - "MENU ENTRY", - "DESCRIPTION", - "CATEGORY", + "GNU Taler Merchant", + "Backend for merchants accepting Taler payments", + "Networking", ), ( "taler-merchant-api-tutorial", "taler-merchant-api-tutorial", "Taler Merchant API Tutorial", "GNU Taler team", - "MENU ENTRY", - "DESCRIPTION", - "CATEGORY", + "GNU Taler Merchant API", + "Tutorial for using the merchant backend API", + "Networking", ), ( "taler-developer-manual", "taler-developer-manual", "Taler Developer Manual", "GNU Taler team", - "MENU ENTRY", - "DESCRIPTION", - "CATEGORY", + "GNU Taler Development", + "Manual for GNU Taler contributors", + "Networking", ), ] -- cgit v1.2.3 From 814e64550f31e73949fce3b7d8bd38720168ecaf Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 11:35:49 +0100 Subject: -fix warning --- checklists/qa-0.9.4.rst | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/checklists/qa-0.9.4.rst b/checklists/qa-0.9.4.rst index 98680c8d..77e51081 100644 --- a/checklists/qa-0.9.4.rst +++ b/checklists/qa-0.9.4.rst @@ -1,9 +1,8 @@ -=================== Taler 0.9.4 QA Plan -=================== +------------------- Wallet Platforms -================ +^^^^^^^^^^^^^^^^ Platforms listed here are the officially supported platforms for this release. @@ -26,7 +25,7 @@ Platforms listed here are the officially supported platforms for this release. Running Deployments -=================== +^^^^^^^^^^^^^^^^^^^ These deployments are maintained by us and should work for the release: @@ -42,7 +41,7 @@ These deployments are maintained by us and should work for the release: Wallet Flows -============ +^^^^^^^^^^^^ * Bank-integrated withdrawal @@ -80,7 +79,7 @@ Wallet Flows libeufin-bank Flows -=================== +^^^^^^^^^^^^^^^^^^^ * Admin functionality @@ -112,7 +111,7 @@ libeufin-bank Flows Merchant Backend SPA Flows -========================== +^^^^^^^^^^^^^^^^^^^^^^^^^^ * Instance creation @@ -161,7 +160,7 @@ Merchant Backend SPA Flows Regio Deployment -================ +^^^^^^^^^^^^^^^^ * Deployment Automation (deployment.git/regional-currency) @@ -189,26 +188,26 @@ Regio Deployment Android Merchant PoS -==================== +^^^^^^^^^^^^^^^^^^^^ * Test against demo.taler.net Android Cashier App -=================== +^^^^^^^^^^^^^^^^^^^ * Test against demo.taler.net CI -== +^^ * https://buildbot.taler.net/#/waterfall * CI should pass Debian Repository -================= +^^^^^^^^^^^^^^^^^ * Debian @@ -223,7 +222,7 @@ Debian Repository GNU Release -=========== +^^^^^^^^^^^ * Release announcement * FTP upload -- cgit v1.2.3 From e1e7eb367e6b799cb75d8763f8236cd9974f5814 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 11:40:43 +0100 Subject: -bump version --- conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf.py b/conf.py index d19481ed..280579cd 100644 --- a/conf.py +++ b/conf.py @@ -87,7 +87,7 @@ copyright = "2014-2022 Taler Systems SA (GPLv3+ or GFDL 1.3+)" # The short X.Y version. version = "0.9" # The full version, including alpha/beta/rc tags. -release = "0.9.0" +release = "0.9.4" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -- cgit v1.2.3 From eab66ca5d92a30e32f1ad9d6eec8f0e8cd359c68 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 11:56:49 +0100 Subject: bump year --- conf.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/conf.py b/conf.py index 280579cd..db8a4069 100644 --- a/conf.py +++ b/conf.py @@ -78,7 +78,7 @@ master_doc = "index" # General information about the project. project = "GNU Taler" -copyright = "2014-2022 Taler Systems SA (GPLv3+ or GFDL 1.3+)" +copyright = "2014-2024 Taler Systems SA (GPLv3+ or GFDL 1.3+)" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -767,7 +767,7 @@ texinfo_documents = [ "GNU Taler team", "GNU Taler Auditor", "External audit for Taler Exchange operation", - "Networking", + "Network applications", ), ( "taler-exchange-manual", @@ -776,16 +776,16 @@ texinfo_documents = [ "GNU Taler team", "GNU Taler Exchange", "Taler payment service provider", - "Networking", + "Network applications", ), ( "taler-challenger-manual", "challenger", "Taler Challenger Manual", "GNU Taler team", - "Challenger", - "OAuth2-based customer address validation service", - "Networking", + "GNU Taler Challenger", + "Customer address validation service", + "Network applications", ), ( "taler-merchant-manual", @@ -794,7 +794,7 @@ texinfo_documents = [ "GNU Taler team", "GNU Taler Merchant", "Backend for merchants accepting Taler payments", - "Networking", + "Network applications", ), ( "taler-merchant-api-tutorial", @@ -803,7 +803,7 @@ texinfo_documents = [ "GNU Taler team", "GNU Taler Merchant API", "Tutorial for using the merchant backend API", - "Networking", + "Network applications", ), ( "taler-developer-manual", @@ -812,7 +812,7 @@ texinfo_documents = [ "GNU Taler team", "GNU Taler Development", "Manual for GNU Taler contributors", - "Networking", + "Network applications", ), ] -- cgit v1.2.3 From 9df45adc3bb4a4e4f38a5e8ba44d6f00058bcdc4 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 13:03:48 +0100 Subject: -change 406 to 400 --- core/api-merchant.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/api-merchant.rst b/core/api-merchant.rst index a291d9cf..d21d8073 100644 --- a/core/api-merchant.rst +++ b/core/api-merchant.rst @@ -288,17 +288,17 @@ Making the payment Either the client request is malformed or some specific processing error happened that may be the fault of the client as detailed in the JSON body of the response. + This includes the case where the payment is insufficient (sum is below + the required total amount, for example because the wallet calculated the + fees wrong). :http:statuscode:`402 Payment required`: There used to be a sufficient payment, but due to refunds the amount effectively paid is no longer sufficient. (If the amount is generally insufficient, we - return "406 Not Acceptable", only if this is because of refunds we return 402.) + return "400 Bad Request", only if this is because of refunds we return 402.) :http:statuscode:`403 Forbidden`: One of the coin signatures was not valid. :http:statuscode:`404 Not found`: The merchant backend could not find the order or the instance and thus cannot process the payment. - :http:statuscode:`406 Not acceptable`: - The payment is insufficient (sum is below the required total amount). - TODO: Should probably change to a different status code in the future as 406 is technically wrong. :http:statuscode:`408 Request timeout`: The backend took too long to process the request. Likely the merchant's connection to the exchange timed out. Try again. -- cgit v1.2.3 From 767c7bfb838bb6667239a4854ed0c51b504fb625 Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Thu, 7 Mar 2024 10:49:18 -0600 Subject: DD53: screens from Android wallet --- .gitignore | 2 ++ design-documents/053-wallet-ui.rst | 32 +++++++++++++++++++-- .../android-wallet/accept-tos.png | Bin 0 -> 118553 bytes .../android-wallet/cta-deposit.png | Bin 0 -> 54746 bytes .../android-wallet/cta-payment-paid.png | Bin 0 -> 55338 bytes .../android-wallet/cta-payment.png | Bin 0 -> 59747 bytes .../android-wallet/cta-peer-pull-initiate.png | Bin 0 -> 54340 bytes .../android-wallet/cta-peer-push-initiate.png | Bin 0 -> 50363 bytes .../android-wallet/cta-url-entry-1.png | Bin 0 -> 87037 bytes .../android-wallet/cta-url-entry-2.png | Bin 0 -> 23916 bytes .../android-wallet/cta-wire-transfer-1.png | Bin 0 -> 68795 bytes .../android-wallet/cta-wire-transfer-2.png | Bin 0 -> 60355 bytes .../android-wallet/cta-withdraw-1.png | Bin 0 -> 42897 bytes .../android-wallet/cta-withdraw-2.png | Bin 0 -> 43977 bytes .../android-wallet/cta-withdraw-done.png | Bin 0 -> 44643 bytes 15 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 design-documents/wallet-screenshots/android-wallet/accept-tos.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-deposit.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-payment.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png create mode 100644 design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png diff --git a/.gitignore b/.gitignore index 7dab94e6..b1119077 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ images/deposit.png images/reserve.png *.png texinfo/ + +!/design-documents/wallet-screenshots/**/*.png diff --git a/design-documents/053-wallet-ui.rst b/design-documents/053-wallet-ui.rst index c36d4759..d57dfb53 100644 --- a/design-documents/053-wallet-ui.rst +++ b/design-documents/053-wallet-ui.rst @@ -98,6 +98,9 @@ fee, restrictions and ETA should be clear for the user. .. attention:: User should be able to play with the amount, not possible in the current design +.. image:: ./wallet-screenshots/android-wallet/cta-withdraw-2.png + :width: 30% + cta-wire-transfer ----------------- @@ -116,6 +119,10 @@ the wire transfer to complete a manual withdrawal operation. * automatic: screen changes to "cta-withdraw-done" upon completion .. image:: ../screenshots/cta-wire-transfer-firefox-latest.png +.. image:: ./wallet-screenshots/android-wallet/cta-wire-transfer-1.png + :width: 30% +.. image:: ./wallet-screenshots/android-wallet/cta-wire-transfer-2.png + :width: 30% cta-withdraw-done ----------------- @@ -134,7 +141,9 @@ a completed withdraw operation (bank-integrated or manual) * delete: deletes information about the withdrawal operation .. image:: ../screenshots/cta-withdraw-done-firefox-latest.png - + :width: 60% +.. image:: ./wallet-screenshots/android-wallet/cta-withdraw-done.png + :width: 30% cta-url-entry ------------- @@ -156,6 +165,10 @@ depending on implementation specifics. * back: return to previous view .. image:: ../screenshots/cta-url-entry-firefox-latest.png +.. image:: ./wallet-screenshots/android-wallet/cta-url-entry-1.png + :width: 30% +.. image:: ./wallet-screenshots/android-wallet/cta-url-entry-2.png + :width: 30% cta-payment @@ -182,6 +195,9 @@ fee, restrictions and ETA should be clear for the user. * cancel: user will be redirected to ``balance`` .. image:: ../screenshots/cta-payment-firefox-latest.png + :width: 60% +.. image:: ./wallet-screenshots/android-wallet/cta-payment.png + :width: 30% cta-payment-paid ---------------- @@ -201,6 +217,9 @@ about a historic payment. * back: user will be redirected to ``balance`` .. image:: ../screenshots/cta-payment-paid-firefox-latest.png + :width: 60% +.. image:: ./wallet-screenshots/android-wallet/cta-payment-paid.png + :width: 30% cta-deposit ------------ @@ -221,6 +240,8 @@ fee, restrictions and ETA should be clear for the user. .. attention:: User should be able to play with the amount, not possible in the current design +.. image:: ./wallet-screenshots/android-wallet/cta-deposit.png + :width: 30% cta-peer-pull-initiate ---------------------- @@ -249,6 +270,8 @@ fee, restrictions and ETA should be clear for the user. Is the invoice creation always free of charge or does the exchange have a mechanism to impose a fee to pay on creation? +.. image:: ./wallet-screenshots/android-wallet/cta-peer-pull-initiate.png + :width: 30% cta-peer-pull-confirm --------------------- @@ -289,6 +312,9 @@ fee, restrictions and ETA should be clear for the user. * confirm operation: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed * cancel: user will be redirected to ``balance`` +.. image:: ./wallet-screenshots/android-wallet/cta-peer-push-initiate.png + :width: 30% + cta-peer-push-confirm --------------------- @@ -349,7 +375,9 @@ user already accepted ToS) * save/print tos: will save the ToS outside of the wallet .. image:: ../screenshots/cta-accept-tos-firefox-latest.png - + :width: 45% +.. image:: ./wallet-screenshots/android-wallet/accept-tos.png + :width: 45% Q / A ===== diff --git a/design-documents/wallet-screenshots/android-wallet/accept-tos.png b/design-documents/wallet-screenshots/android-wallet/accept-tos.png new file mode 100644 index 00000000..c9537071 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/accept-tos.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-deposit.png b/design-documents/wallet-screenshots/android-wallet/cta-deposit.png new file mode 100644 index 00000000..74435360 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-deposit.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png b/design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png new file mode 100644 index 00000000..51a412c7 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-payment.png b/design-documents/wallet-screenshots/android-wallet/cta-payment.png new file mode 100644 index 00000000..d518c922 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-payment.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png b/design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png new file mode 100644 index 00000000..9be8abdf Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png b/design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png new file mode 100644 index 00000000..8ee0ef7d Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png b/design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png new file mode 100644 index 00000000..0705e7f0 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png b/design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png new file mode 100644 index 00000000..18ed9bdf Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png b/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png new file mode 100644 index 00000000..71e354f6 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png b/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png new file mode 100644 index 00000000..719b890c Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png new file mode 100644 index 00000000..3da47302 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png new file mode 100644 index 00000000..dbe4c7b1 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png new file mode 100644 index 00000000..5860f280 Binary files /dev/null and b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png differ -- cgit v1.2.3 From 11a31158a2829d01aa6c57fab6673af32d12d24d Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Thu, 7 Mar 2024 14:58:02 -0600 Subject: DD53: improve DD53 structure and add screenshots --- .gitignore | 1 + design-documents/053-wallet-ui.rst | 683 +++++++++++++++------ .../android-wallet/accept-tos.png | Bin 118553 -> 0 bytes .../android-wallet/cta-deposit.png | Bin 54746 -> 0 bytes .../android-wallet/cta-payment-paid.png | Bin 55338 -> 0 bytes .../android-wallet/cta-payment.png | Bin 59747 -> 0 bytes .../android-wallet/cta-peer-pull-initiate.png | Bin 54340 -> 0 bytes .../android-wallet/cta-peer-push-initiate.png | Bin 50363 -> 0 bytes .../android-wallet/cta-url-entry-1.png | Bin 87037 -> 0 bytes .../android-wallet/cta-url-entry-2.png | Bin 23916 -> 0 bytes .../android-wallet/cta-wire-transfer-1.png | Bin 68795 -> 0 bytes .../android-wallet/cta-wire-transfer-2.png | Bin 60355 -> 0 bytes .../android-wallet/cta-withdraw-1.png | Bin 42897 -> 0 bytes .../android-wallet/cta-withdraw-2.png | Bin 43977 -> 0 bytes .../android-wallet/cta-withdraw-done.png | Bin 44643 -> 0 bytes screenshots/balance-list-android-0.png | Bin 0 -> 47885 bytes screenshots/balance-list-android-latest.png | 1 + screenshots/balance-list-firefox-0.png | Bin 0 -> 44775 bytes screenshots/balance-list-firefox-latest.png | 1 + screenshots/cta-accept-tos-android-0.png | Bin 0 -> 118553 bytes screenshots/cta-accept-tos-android-latest.png | 1 + screenshots/cta-deposit-android-0.png | Bin 0 -> 54746 bytes screenshots/cta-deposit-android-latest.png | 1 + screenshots/cta-deposit-firefox-0.png | Bin 0 -> 59490 bytes screenshots/cta-deposit-firefox-latest.png | 1 + screenshots/cta-payment-android-0.png | Bin 0 -> 59747 bytes screenshots/cta-payment-android-latest.png | 1 + screenshots/cta-payment-paid-android-0.png | Bin 0 -> 55338 bytes screenshots/cta-payment-paid-android-latest.png | 1 + screenshots/cta-peer-pull-initiate-android-0.png | Bin 0 -> 54340 bytes .../cta-peer-pull-initiate-android-latest.png | 1 + screenshots/cta-peer-pull-initiate-firefox-0.png | Bin 0 -> 62019 bytes .../cta-peer-pull-initiate-firefox-latest.png | 1 + screenshots/cta-peer-push-initiate-android-0.png | Bin 0 -> 50363 bytes .../cta-peer-push-initiate-android-latest.png | 1 + screenshots/cta-peer-push-initiate-firefox-0.png | Bin 0 -> 56300 bytes .../cta-peer-push-initiate-firefox-latest.png | 1 + screenshots/cta-url-entry-1-android-0.png | Bin 0 -> 87037 bytes screenshots/cta-url-entry-1-android-latest.png | 1 + screenshots/cta-url-entry-2-android-0.png | Bin 0 -> 23916 bytes screenshots/cta-url-entry-2-android-latest.png | 1 + screenshots/cta-wire-transfer-1-android-0.png | Bin 0 -> 68795 bytes screenshots/cta-wire-transfer-1-android-latest.png | 1 + screenshots/cta-wire-transfer-2-android-0.png | Bin 0 -> 60355 bytes screenshots/cta-wire-transfer-2-android-latest.png | 1 + screenshots/cta-withdraw-1-android-0.png | Bin 0 -> 42897 bytes screenshots/cta-withdraw-1-android-latest.png | 1 + screenshots/cta-withdraw-2-android-0.png | Bin 0 -> 43977 bytes screenshots/cta-withdraw-2-android-latest.png | 1 + screenshots/cta-withdraw-done-android-0.png | Bin 0 -> 44643 bytes screenshots/cta-withdraw-done-android-latest.png | 1 + screenshots/cta-withdraw-firefox-1.png | Bin 0 -> 50475 bytes screenshots/cta-withdraw-firefox-latest.png | 2 +- screenshots/transaction-list-android-0.png | Bin 0 -> 83906 bytes screenshots/transaction-list-android-latest.png | 1 + screenshots/transaction-list-firefox-0.png | Bin 0 -> 47985 bytes screenshots/transaction-list-firefox-latest.png | 1 + 57 files changed, 505 insertions(+), 201 deletions(-) delete mode 100644 design-documents/wallet-screenshots/android-wallet/accept-tos.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-deposit.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-payment.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png delete mode 100644 design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png create mode 100644 screenshots/balance-list-android-0.png create mode 120000 screenshots/balance-list-android-latest.png create mode 100644 screenshots/balance-list-firefox-0.png create mode 120000 screenshots/balance-list-firefox-latest.png create mode 100644 screenshots/cta-accept-tos-android-0.png create mode 120000 screenshots/cta-accept-tos-android-latest.png create mode 100644 screenshots/cta-deposit-android-0.png create mode 120000 screenshots/cta-deposit-android-latest.png create mode 100644 screenshots/cta-deposit-firefox-0.png create mode 120000 screenshots/cta-deposit-firefox-latest.png create mode 100644 screenshots/cta-payment-android-0.png create mode 120000 screenshots/cta-payment-android-latest.png create mode 100644 screenshots/cta-payment-paid-android-0.png create mode 120000 screenshots/cta-payment-paid-android-latest.png create mode 100644 screenshots/cta-peer-pull-initiate-android-0.png create mode 120000 screenshots/cta-peer-pull-initiate-android-latest.png create mode 100644 screenshots/cta-peer-pull-initiate-firefox-0.png create mode 120000 screenshots/cta-peer-pull-initiate-firefox-latest.png create mode 100644 screenshots/cta-peer-push-initiate-android-0.png create mode 120000 screenshots/cta-peer-push-initiate-android-latest.png create mode 100644 screenshots/cta-peer-push-initiate-firefox-0.png create mode 120000 screenshots/cta-peer-push-initiate-firefox-latest.png create mode 100644 screenshots/cta-url-entry-1-android-0.png create mode 120000 screenshots/cta-url-entry-1-android-latest.png create mode 100644 screenshots/cta-url-entry-2-android-0.png create mode 120000 screenshots/cta-url-entry-2-android-latest.png create mode 100644 screenshots/cta-wire-transfer-1-android-0.png create mode 120000 screenshots/cta-wire-transfer-1-android-latest.png create mode 100644 screenshots/cta-wire-transfer-2-android-0.png create mode 120000 screenshots/cta-wire-transfer-2-android-latest.png create mode 100644 screenshots/cta-withdraw-1-android-0.png create mode 120000 screenshots/cta-withdraw-1-android-latest.png create mode 100644 screenshots/cta-withdraw-2-android-0.png create mode 120000 screenshots/cta-withdraw-2-android-latest.png create mode 100644 screenshots/cta-withdraw-done-android-0.png create mode 120000 screenshots/cta-withdraw-done-android-latest.png create mode 100644 screenshots/cta-withdraw-firefox-1.png create mode 100644 screenshots/transaction-list-android-0.png create mode 120000 screenshots/transaction-list-android-latest.png create mode 100644 screenshots/transaction-list-firefox-0.png create mode 120000 screenshots/transaction-list-firefox-latest.png diff --git a/.gitignore b/.gitignore index b1119077..03767229 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ images/reserve.png texinfo/ !/design-documents/wallet-screenshots/**/*.png +!/screenshots/*.png diff --git a/design-documents/053-wallet-ui.rst b/design-documents/053-wallet-ui.rst index d57dfb53..3a6602e1 100644 --- a/design-documents/053-wallet-ui.rst +++ b/design-documents/053-wallet-ui.rst @@ -40,20 +40,24 @@ Additionaly the document COULD defined the components of the UI. If one of this properties is defined in the spec the implementation must implement it. The specification should be minimal to achieve the objective in the description. -* **Info**: Spec of information that the user should have access. The type of info +* **Info**. Spec of information that the user should have access. The type of info could be a field (id and value) or a banner (information and instructions). The spec will help to reuse the text for i18n across apps and defined -* **Inputs**: Spec of information need to provide in current screen. The type of input, +* **Inputs**. Spec of information need to provide in current screen. The type of input, range of values and validation should be defined if necessary. -* **Actions**: Spec of buttons and interactable elements that will have a significant +* **Actions**. Spec of buttons and interactable elements that will have a significant change in the current state. It should also mention navigation when applicable. -* **Layout**: Spec position of elements when needed. The spec should be "soft" in a sense +* **Layout**. Spec position of elements when needed. The spec should be "soft" in a sense that elements should be easy to find following directions like "close to X" or "at the start/end of the screen". +* **Screenshots**. Should be provided for all wallet implementations and kept + up to date, to ensure that they can be used to aid in UI/UX and QA + discussions. + Screen should be defined using the most relaxed definition that are good enough to be clear for the user. Platform will use this definition and adapt to the differences on the platform taking advantange of platform API and screen sizes. @@ -72,278 +76,543 @@ Proposed Solutions List of all screens with the defined properties. +.. _balance-list-ref: + +balance-list +------------ + +This screen shows a currency-scoped list of the balances stored in the wallet, +and includes information about the total, incoming, and outgoing amounts, as +well as the currency scope information for each item. + +Info +^^^^ + +* List of balances in the wallet, where each item contains: + + * Total amount with currency (see :doc:`051-fractional-digits`). + * Incoming amount (money pending to arrive). + * Outgoing amount (money pending to leave). + * Currency scope information (see :doc:`035-regional-currencies`). + +Actions +^^^^^^^ + +* **View transactions**. Clicking on a balance item should take you to the + transaction list (:ref:`transaction-list-ref`) associated with that balance. + +Screenshots +^^^^^^^^^^^ + ++-----------+----------------------------------------------------------------+ +| Platform | Screenshot | ++===========+================================================================+ +| WebEx | .. image:: ../screenshots/balance-list-firefox-latest.png | ++-----------+----------------------------------------------------------------+ +| Android | .. image:: ../screenshots/balance-list-android-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------+ + + +.. _transaction-list-ref: + +transaction-list +---------------- + +This screen shows a list of all the transactions associated with a given +currency scope. + +Info +^^^^ + +* Total amount and currency (see :doc:`051-fractional-digits`). +* List of transactions associated with the currency scope, with pending + transactions on top, and where each item contains the following: + + * **Title**. It depends on the transaction type. It can be the exchange URL + (e.g. exchange.demo.taler.net), a description of the type of transaction + (e.g. Deposit, Invoice, Payment, etc.), the name of the merchant paid + (e.g. Essay Shop), etc. + * **Summary**. It provides complementary information about the transaction + for the user, such as the status of the transaction (e.g. “Waiting for + confirmation,” “KYC required,” an error message, etc.). (The summary is + provided by wallet-core, along with internationalized versions.) + * **Timestamp**. The moment when the transaction was created. Ideally, it + should be shown with minimal precision, only showing the minutes, hours or + days that have elapsed. + * **Amount**. The positive or negative impact that the transaction has in + the total balance of the currency scope. It should be made clear whether + the amount of the transaction is positive or negative, ideally with a sign + (+/-) and a color (green/red). + * **Pending**. It should be indicated whether the transaction is pending or + finished. This can be done with a small badge and with different colors, + however, it should be always clear and communicate the message + effectively. + +Actions +^^^^^^^ + +* **Send**. The transaction list should include a button that allows the user + to initiate transactions that result in money being sent, such as deposits + and peer push payments. +* **Receive**. The transaction list should also include a button that allows + the user to initiate transactions that result in money being received, such + as withdrawals and peer pull payments. +* **View transaction details**. When clicking on a transaction, the user + should be taken to its corresponding transaction details depending on the + type of the transaction clicked. +* **Select transaction(s)**. The user should be able to select one or more + transactions to perform specific bulk actions, such as deleting. The + interaction that triggers this action might differ across platforms. For + example, in Android this would be achieved by double pressing a transaction + (to activate selection mode) and then clicking other transactions to be + selected. On iOS, this could be achieved using an “Edit” button in the + toolbar that reveals checkboxes that allow the user to select the desired + transactions. +* **Delete transaction(s)**. This could be achieved in bulk via selection + mode, or individually for each transaction via a menu or a button. Either + way, performing a deletion should always show a confirmation menu before + doing the actual deletion. + +Screenshots +^^^^^^^^^^^ + ++-----------+----------------------------------------------------------------+ +| Platform | Screenshot | ++===========+================================================================+ +| WebEx | .. image:: ../screenshots/transaction-list-firefox-latest.png | ++-----------+----------------------------------------------------------------+ +| Android | .. image:: ../screenshots/transaction-list-android-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------+ + + +.. _cta-withdraw-ref: + cta-withdraw ------------ -``Description``: this screen is used for the confirmation of a manual withdrawal, -bank-integrated witdrawals and exchange withdrawals. -the success of this operation will be an increase of the balance in the wallet. -fee, restrictions and ETA should be clear for the user. +This screen is used for the confirmation of a manual withdrawal, +bank-integrated witdrawals and exchange withdrawals. the success of this +operation will be an increase of the balance in the wallet. fee, restrictions +and ETA should be clear for the user. + +Info +^^^^ + +* exchange to be used showing the URL +* table of details of the operation: use the :ref:`operation-table-details-ref` screen +* starting currency: if the exchange has the currency conversion service enabled user should be able to the details based on the wire transfer currency +* taler URI: show copy button or QR to complete the operation with another device -``Info``: - * exchange to be used showing the URL - * table of details of the operation: use the ``operation-table-details`` screen - * starting currency: if the exchange has the currency conversion service enabled user should be able to the details based on the wire transfer currency - * taler URI: show copy button or QR to complete the operation with another device +Inputs +^^^^^^ -``Inputs``: - * age restriction: allow the selection of the restriction in the age group possible by the exchange - * service provider: allow the selection of different exchange +* age restriction: allow the selection of the restriction in the age group possible by the exchange +* service provider: allow the selection of different exchange -``Actions``: - * confirm operation: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * review and confirm ToS: if the current selected exchange has a version of ToS that the user didn't yet accepted, use the ``accept-tos`` screen - * cancel: user will be redirected to ``balance`` +Actions +^^^^^^^ + +* **confirm operation**: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **review and confirm ToS**: if the current selected exchange has a version of ToS that the user didn't yet accepted, use the :ref:`accept-tos-ref` screen +* **cancel**: user will be redirected to ``balance`` .. attention:: User should be able to play with the amount, not possible in the current design -.. image:: ./wallet-screenshots/android-wallet/cta-withdraw-2.png - :width: 30% +Screenshots +^^^^^^^^^^^ + ++-----------+----------------------------------------------------------------+ +| Platform | Screenshot | ++===========+================================================================+ +| WebEx | .. image:: ../screenshots/cta-withdraw-firefox-latest.png | ++-----------+----------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-withdraw-2-android-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------+ + + +.. _cta-wire-transfer-ref: cta-wire-transfer ----------------- -``Description``: this screen is used to show the user the information for -the wire transfer to complete a manual withdrawal operation. +This screen is used to show the user the information for the wire transfer to +complete a manual withdrawal operation. + +Info +^^^^ -``Info``: - * wire transfer subject to be used (first, most important) - * target bank account to transfer funds to (e.g. IBAN) - * total amount to transfer in the wire transfer currency - * button to copy ``payto://`` URI with the information to clipboard +* wire transfer subject to be used (first, most important) +* target bank account to transfer funds to (e.g. IBAN) +* total amount to transfer in the wire transfer currency +* button to copy ``payto://`` URI with the information to clipboard -``Actions``: - * abort: aborts the withdrawal operation - * menu: go back to the main balances list (operation continues in background) - * automatic: screen changes to "cta-withdraw-done" upon completion +Actions +^^^^^^^ -.. image:: ../screenshots/cta-wire-transfer-firefox-latest.png -.. image:: ./wallet-screenshots/android-wallet/cta-wire-transfer-1.png - :width: 30% -.. image:: ./wallet-screenshots/android-wallet/cta-wire-transfer-2.png - :width: 30% +* **abort**: aborts the withdrawal operation +* **menu**: go back to the main balances list (operation continues in background) +* **automatic**: screen changes to "cta-withdraw-done" upon completion + +Screenshots +^^^^^^^^^^^ + ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-wire-transfer-firefox-latest.png | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-wire-transfer-1-android-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/cta-wire-transfer-2-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + + +.. _cta-withdraw-done-ref: cta-withdraw-done ----------------- -``Description``: this screen is used to show the user the information for -a completed withdraw operation (bank-integrated or manual) +This screen is used to show the user the information for a completed withdraw +operation (bank-integrated or manual) + +Info +^^^^ -``Info``: - * amount wired (hidden if no fees) - * fees paid (hidden if no fees) - * total amount withdrawn into wallet (effective balance change) - * exchange base URL - * date +* amount wired (hidden if no fees) +* fees paid (hidden if no fees) +* total amount withdrawn into wallet (effective balance change) +* exchange base URL +* date -``Actions``: - * delete: deletes information about the withdrawal operation +Actions +^^^^^^^ -.. image:: ../screenshots/cta-withdraw-done-firefox-latest.png - :width: 60% -.. image:: ./wallet-screenshots/android-wallet/cta-withdraw-done.png - :width: 30% +* **delete**: deletes information about the withdrawal operation + +Screenshots +^^^^^^^^^^^ + ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-withdraw-done-firefox-latest.png | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-withdraw-done-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + + +.. _cta-url-entry-ref: cta-url-entry ------------- -``Description``: this screen allows the user to scan a QR code, scan an NFC -tag, or enter a taler://-URL. Its implementation may differ significantly -between platforms. For example, scanning NFC tags may be fully automated, -scanning QR codes may involve some system applications, and maybe the dialog -only allows the URL entry *or* the camera but not both at the same time, -depending on implementation specifics. +This screen allows the user to scan a QR code, scan an NFC tag, or enter a +taler://-URL. Its implementation may differ significantly between +platforms. For example, scanning NFC tags may be fully automated, scanning QR +codes may involve some system applications, and maybe the dialog only allows +the URL entry *or* the camera but not both at the same time, depending on +implementation specifics. + +Info +^^^^ -``Info``: - * camera with current image to enable user to focus on QR code - * current URL, with information if it is not well-formed for GNU Taler - * possibly status information on NFC reader (if available) +* camera with current image to enable user to focus on QR code +* current URL, with information if it is not well-formed for GNU Taler +* possibly status information on NFC reader (if available) -``Actions``: - * open: if entered manually, open URL as-entered (otherwise open is automatic) - * back: return to previous view +Actions +^^^^^^^ -.. image:: ../screenshots/cta-url-entry-firefox-latest.png -.. image:: ./wallet-screenshots/android-wallet/cta-url-entry-1.png - :width: 30% -.. image:: ./wallet-screenshots/android-wallet/cta-url-entry-2.png - :width: 30% +* **open**: if entered manually, open URL as-entered (otherwise open is automatic) +* **back**: return to previous view +Screenshots +^^^^^^^^^^^ + ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-url-entry-firefox-latest.png | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-url-entry-1-android-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/cta-url-entry-2-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + + +.. _cta-payment-ref: cta-payment ----------- -``Description``: this screen is used for the confirmation of a payment to a merchant. -the success of this operation will be an decrease of the balance in the wallet -and save a ticket/invoice of the purchase. -fee, restrictions and ETA should be clear for the user. - -``Info``: - * merchant offering the order showing the URL - * order summary - * table of details of the operation: use the ``operation-table-details`` screen - * receipt: order id - * payment deadline: absolute time before the claimed order expires - * taler URI: show copy button or QR to complete the operation with another device - * cant pay desc: if the user has enough balance but unable to use it - * payment status: if the - -``Actions``: - * confirm operation: if the payment is possible, on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * get more cash: if there is not enough balance, it will be redirected to ``cta-witddraw`` - * cancel: user will be redirected to ``balance`` - -.. image:: ../screenshots/cta-payment-firefox-latest.png - :width: 60% -.. image:: ./wallet-screenshots/android-wallet/cta-payment.png - :width: 30% +This screen is used for the confirmation of a payment to a merchant. the +success of this operation will be an decrease of the balance in the wallet and +save a ticket/invoice of the purchase. fee, restrictions and ETA should be +clear for the user. + +Info +^^^^ + +* merchant offering the order showing the URL +* order summary +* table of details of the operation: use the :ref:`operation-table-details-ref` screen +* receipt: order id +* payment deadline: absolute time before the claimed order expires +* taler URI: show copy button or QR to complete the operation with another device +* cant pay desc: if the user has enough balance but unable to use it +* payment status: if the + +Actions +^^^^^^^ + +* **confirm operation**: if the payment is possible, on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **get more cash**: if there is not enough balance, it will be redirected to :ref:`cta-withdraw-ref` +* **cancel**: user will be redirected to ``balance`` + +Screenshots +^^^^^^^^^^^ + ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-payment-firefox-latest.png | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-payment-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + + +.. _cta-payment-paid-ref: cta-payment-paid ---------------- -``Description``: this screen is used to show information with details -about a historic payment. +This screen is used to show information with details about a historic payment. + +Info +^^^^ + +* merchant offering the order showing the URL +* order summary +* table of details of the operation: use the :ref:`operation-table-details-ref` screen +* receipt: order id +* payment status: if the order was refunded + +Actions +^^^^^^^ -``Info``: - * merchant offering the order showing the URL - * order summary - * table of details of the operation: use the ``operation-table-details`` screen - * receipt: order id - * payment status: if the order was refunded +* **delete**: delete information about the transaction +* **back**: user will be redirected to ``balance`` -``Actions``: - * delete: delete information about the transaction - * back: user will be redirected to ``balance`` +Screenshots +^^^^^^^^^^^ -.. image:: ../screenshots/cta-payment-paid-firefox-latest.png - :width: 60% -.. image:: ./wallet-screenshots/android-wallet/cta-payment-paid.png - :width: 30% ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-payment-paid-firefox-latest.png | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-payment-paid-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + + +.. _cta-deposit-ref: cta-deposit ------------ -``Description``: this screen is used for the confirmation of a deposit. -the success of this operation will be an decrease of the balance in the wallet -and save a deposit ticket for reference. -fee, restrictions and ETA should be clear for the user. +This screen is used for the confirmation of a deposit. the success of this +operation will be an decrease of the balance in the wallet and save a deposit +ticket for reference. fee, restrictions and ETA should be clear for the user. + +Info +^^^^ -``Info``: - * bank account where the money is going to - * table of details of the operation: use the ``operation-table-details`` screen +* bank account where the money is going to +* table of details of the operation: use the :ref:`operation-table-details-ref` screen -``Actions``: - * confirm operation: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * cancel: user will be redirected to ``balance`` +Actions +^^^^^^^ + +* **confirm operation**: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **cancel**: user will be redirected to ``balance`` .. attention:: User should be able to play with the amount, not possible in the current design -.. image:: ./wallet-screenshots/android-wallet/cta-deposit.png - :width: 30% +Screenshots +^^^^^^^^^^^ + ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-deposit-firefox-latest.png | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-deposit-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + + +.. _cta-peer-pull-initiate-ref: cta-peer-pull-initiate ---------------------- -``Description``: this screen is used for the confirmation of the creation of -a peer pull transaction or invoice to request money from another wallet. -the success of this operation will not change the balance immediately in the wallet -and allow the user to share a taler URI to the payer. -fee, restrictions and ETA should be clear for the user. +This screen is used for the confirmation of the creation of a peer pull +transaction or invoice to request money from another wallet. the success of +this operation will not change the balance immediately in the wallet and allow +the user to share a taler URI to the payer. fee, restrictions and ETA should +be clear for the user. + +Info +^^^^ + +* exchange to be used showing the URL +* table of details of the operation: use the :ref:`operation-table-details-ref` screen -``Info``: - * exchange to be used showing the URL - * table of details of the operation: use the ``operation-table-details`` screen +Inputs +^^^^^^ -``Inputs``: - * subject: short description of the transaction - * expiration: absolute time/date after which the invoice is not valid anymore - * service provider: allow the selection of different exchange +* **subject**: short description of the transaction +* **expiration**: absolute time/date after which the invoice is not valid anymore +* **service provider**: allow the selection of different exchange -``Actions``: - * confirm operation: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * review and confirm ToS: if the current selected exchange has a version of ToS that the user didn't yet accepted, use the ``accept-tos`` screen - * cancel: user will be redirected to ``balance`` +Actions +^^^^^^^ + +* **confirm operation**: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **review and confirm ToS**: if the current selected exchange has a version of ToS that the user didn't yet accepted, use the :ref:`accept-tos-ref` screen +* *cancel*: user will be redirected to ``balance`` .. attention:: Is the invoice creation always free of charge or does the exchange have a mechanism to impose a fee to pay on creation? -.. image:: ./wallet-screenshots/android-wallet/cta-peer-pull-initiate.png - :width: 30% +Screenshots +^^^^^^^^^^^ + ++-----------+----------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+======================================================================+ +| WebEx | .. image:: ../screenshots/cta-peer-pull-initiate-firefox-latest.png | ++-----------+----------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-peer-pull-initiate-android-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------------+ + + +.. _cta-peer-pull-confirm-ref: cta-peer-pull-confirm --------------------- -``Description``: this screen is used for the confirmation of the payment of -a peer pull transaction or invoice to send money from another wallet. -the success of this operation will be an will decrease the balance in the wallet. -fee, restrictions and ETA should be clear for the user. +This screen is used for the confirmation of the payment of a peer pull +transaction or invoice to send money from another wallet. the success of this +operation will be an will decrease the balance in the wallet. fee, +restrictions and ETA should be clear for the user. + +Info +^^^^ -``Info``: - * exchange to be used showing the URL - * subject: short description of the transaction - * table of details of the operation: use the ``operation-table-details`` screen - * expiration: absolute time/date after which the invoice is not valid anymore +* exchange to be used showing the URL +* subject: short description of the transaction +* table of details of the operation: use the :ref:`operation-table-details-ref` screen +* expiration: absolute time/date after which the invoice is not valid anymore -``Actions``: - * confirm operation: if the payment is possible, on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * get more cash: if there is not enough balance, it will be redirected to ``cta-witddraw`` - * cancel: user will be redirected to ``balance`` +Actions +^^^^^^^ + +* **confirm operation**: if the payment is possible, on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **get more cash**: if there is not enough balance, it will be redirected to :ref:`cta-withdraw-ref` +* **cancel**: user will be redirected to ``balance`` cta-peer-push-initiate ---------------------- -``Description``: this screen is used for the confirmation of the creation of -a peer push transaction or transfer money to another wallet. -the success of this operation will reduce the balance immediately in the wallet -and allow the user to share a taler URI to the receiver. -fee, restrictions and ETA should be clear for the user. +This screen is used for the confirmation of the creation of a peer push +transaction or transfer money to another wallet. the success of this +operation will reduce the balance immediately in the wallet and allow the user +to share a taler URI to the receiver. fee, restrictions and ETA should be +clear for the user. + +Info +^^^^ + +* table of details of the operation: use the ``operation-table-details`` screen + +Inputs +^^^^^^ + +* **subject**: short description of the transaction +* **expiration**: absolute time/date after which the transfer is not valid anymore -``Info``: - * table of details of the operation: use the ``operation-table-details`` screen +Actions +^^^^^^^ -``Inputs``: - * subject: short description of the transaction - * expiration: absolute time/date after which the transfer is not valid anymore +* **confirm operation**: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **cancel**: user will be redirected to ``balance`` -``Actions``: - * confirm operation: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * cancel: user will be redirected to ``balance`` +Screenshots +^^^^^^^^^^^ -.. image:: ./wallet-screenshots/android-wallet/cta-peer-push-initiate.png - :width: 30% ++-----------+----------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+======================================================================+ +| WebEx | .. image:: ../screenshots/cta-peer-push-initiate-firefox-latest.png | ++-----------+----------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-peer-push-initiate-android-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------------+ + + +.. _cta-peer-push-confirm-ref: cta-peer-push-confirm --------------------- -``Description``: this screen is used for the confirmation of the acceptance of -a peer push transaction or transfer money to this wallet. -the success of this operation will be an will decrease the balance in the wallet. -fee, restrictions and ETA should be clear for the user. +This screen is used for the confirmation of the acceptance of a peer push +transaction or transfer money to this wallet. the success of this operation +will be an will decrease the balance in the wallet. fee, restrictions and ETA +should be clear for the user. + +Info +^^^^ -``Info``: - * subject: short description of the payment - * expiration: absolute time/date after which the invoice is not valid anymore - * table of details of the operation: use the ``operation-table-details`` screen +* subject: short description of the payment +* expiration: absolute time/date after which the invoice is not valid anymore +* table of details of the operation: use the ``operation-table-details`` screen -``Actions``: - * confirm operation: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed - * review and confirm ToS: if the current selected exchange has a version of ToS that the user didn't yet accepted, use the ``accept-tos`` screen - * cancel: user will be redirected to ``balance`` +Actions +^^^^^^^ +* **confirm operation**: on success will be redirected to the ``transaction-details`` screen where the detail of the current transaction will be displayed +* **review and confirm ToS**: if the current selected exchange has a version of ToS that the user didn't yet accepted, use the :ref:`accept-tos-ref` screen +* **cancel**: user will be redirected to ``balance`` + +.. _operation-table-details-ref: operation-table-details ----------------------- -``Description``: with the table it should be clear how much the operation will cost, -the initial amount and the final amount with all the items related to the operations (like fee) +With the table it should be clear how much the operation will cost, the +initial amount and the final amount with all the items related to the +operations (like fee) + +Labels +^^^^^^ -``labels``: initial amount of the operation, and final amount are always shown. -Fee should be shown as an extra row in the table if it is non-zero. -Converted amount should be shown as an extra row if initial amount currency is not the same -as the final amount currency. +Initial amount of the operation, and final amount are always shown. Fee should +be shown as an extra row in the table if it is non-zero. Converted amount +should be shown as an extra row if initial amount currency is not the same as +the final amount currency. Initial amount label by operation: @@ -357,27 +626,41 @@ Initial amount label by operation: * refund -> Refund +.. _accept-tos-ref: + accept-tos ---------- -``Description``: this screen can be use everytime that the user is going to interact -with an exchange. since at any moment wallet may find that ToS changed the user needs -to be prevented from continue before reading/accepting new rules. If possible, this -screen should be used inplace of other actions and hidden if not required (for example, -user already accepted ToS) +This screen can be use everytime that the user is going to interact with an +exchange. since at any moment wallet may find that ToS changed the user needs +to be prevented from continue before reading/accepting new rules. If possible, +this screen should be used inplace of other actions and hidden if not required +(for example, user already accepted ToS) + +Inputs +^^^^^^ + +* **format**: allow the selection of a ToS format +* **languange**: allow the selection of a languange different from system lang + +Actions +^^^^^^^ -``Inputs``: - * format: allow the selection of a ToS format - * languange: allow the selection of a languange different from system lang +* **accept tos**: will mark this version as accepted in wallet core and redirect the user to the screen from where it was invoked +* **save/print tos**: will save the ToS outside of the wallet -``Actions``: - * accept tos: will mark this version as accepted in wallet core and redirect the user to the screen from where it was invoked - * save/print tos: will save the ToS outside of the wallet +Screenshots +^^^^^^^^^^^ -.. image:: ../screenshots/cta-accept-tos-firefox-latest.png - :width: 45% -.. image:: ./wallet-screenshots/android-wallet/accept-tos.png - :width: 45% ++-----------+------------------------------------------------------------------+ +| Platform | Screenshot | ++===========+==================================================================+ +| WebEx | .. image:: ../screenshots/cta-accept-tos-firefox-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ +| Android | .. image:: ../screenshots/cta-accept-tos-android-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ Q / A ===== diff --git a/design-documents/wallet-screenshots/android-wallet/accept-tos.png b/design-documents/wallet-screenshots/android-wallet/accept-tos.png deleted file mode 100644 index c9537071..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/accept-tos.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-deposit.png b/design-documents/wallet-screenshots/android-wallet/cta-deposit.png deleted file mode 100644 index 74435360..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-deposit.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png b/design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png deleted file mode 100644 index 51a412c7..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-payment-paid.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-payment.png b/design-documents/wallet-screenshots/android-wallet/cta-payment.png deleted file mode 100644 index d518c922..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-payment.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png b/design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png deleted file mode 100644 index 9be8abdf..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-peer-pull-initiate.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png b/design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png deleted file mode 100644 index 8ee0ef7d..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-peer-push-initiate.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png b/design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png deleted file mode 100644 index 0705e7f0..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-url-entry-1.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png b/design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png deleted file mode 100644 index 18ed9bdf..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-url-entry-2.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png b/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png deleted file mode 100644 index 71e354f6..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-1.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png b/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png deleted file mode 100644 index 719b890c..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-wire-transfer-2.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png deleted file mode 100644 index 3da47302..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-1.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png deleted file mode 100644 index dbe4c7b1..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-2.png and /dev/null differ diff --git a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png b/design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png deleted file mode 100644 index 5860f280..00000000 Binary files a/design-documents/wallet-screenshots/android-wallet/cta-withdraw-done.png and /dev/null differ diff --git a/screenshots/balance-list-android-0.png b/screenshots/balance-list-android-0.png new file mode 100644 index 00000000..f87919f8 Binary files /dev/null and b/screenshots/balance-list-android-0.png differ diff --git a/screenshots/balance-list-android-latest.png b/screenshots/balance-list-android-latest.png new file mode 120000 index 00000000..0af04e4b --- /dev/null +++ b/screenshots/balance-list-android-latest.png @@ -0,0 +1 @@ +balance-list-android-0.png \ No newline at end of file diff --git a/screenshots/balance-list-firefox-0.png b/screenshots/balance-list-firefox-0.png new file mode 100644 index 00000000..6a4fcb12 Binary files /dev/null and b/screenshots/balance-list-firefox-0.png differ diff --git a/screenshots/balance-list-firefox-latest.png b/screenshots/balance-list-firefox-latest.png new file mode 120000 index 00000000..390d4b60 --- /dev/null +++ b/screenshots/balance-list-firefox-latest.png @@ -0,0 +1 @@ +balance-list-firefox-0.png \ No newline at end of file diff --git a/screenshots/cta-accept-tos-android-0.png b/screenshots/cta-accept-tos-android-0.png new file mode 100644 index 00000000..c9537071 Binary files /dev/null and b/screenshots/cta-accept-tos-android-0.png differ diff --git a/screenshots/cta-accept-tos-android-latest.png b/screenshots/cta-accept-tos-android-latest.png new file mode 120000 index 00000000..89544b02 --- /dev/null +++ b/screenshots/cta-accept-tos-android-latest.png @@ -0,0 +1 @@ +cta-accept-tos-android-0.png \ No newline at end of file diff --git a/screenshots/cta-deposit-android-0.png b/screenshots/cta-deposit-android-0.png new file mode 100644 index 00000000..74435360 Binary files /dev/null and b/screenshots/cta-deposit-android-0.png differ diff --git a/screenshots/cta-deposit-android-latest.png b/screenshots/cta-deposit-android-latest.png new file mode 120000 index 00000000..53a323c3 --- /dev/null +++ b/screenshots/cta-deposit-android-latest.png @@ -0,0 +1 @@ +cta-deposit-android-0.png \ No newline at end of file diff --git a/screenshots/cta-deposit-firefox-0.png b/screenshots/cta-deposit-firefox-0.png new file mode 100644 index 00000000..e78538c7 Binary files /dev/null and b/screenshots/cta-deposit-firefox-0.png differ diff --git a/screenshots/cta-deposit-firefox-latest.png b/screenshots/cta-deposit-firefox-latest.png new file mode 120000 index 00000000..93e5beca --- /dev/null +++ b/screenshots/cta-deposit-firefox-latest.png @@ -0,0 +1 @@ +cta-deposit-firefox-0.png \ No newline at end of file diff --git a/screenshots/cta-payment-android-0.png b/screenshots/cta-payment-android-0.png new file mode 100644 index 00000000..d518c922 Binary files /dev/null and b/screenshots/cta-payment-android-0.png differ diff --git a/screenshots/cta-payment-android-latest.png b/screenshots/cta-payment-android-latest.png new file mode 120000 index 00000000..b858e45f --- /dev/null +++ b/screenshots/cta-payment-android-latest.png @@ -0,0 +1 @@ +cta-payment-android-0.png \ No newline at end of file diff --git a/screenshots/cta-payment-paid-android-0.png b/screenshots/cta-payment-paid-android-0.png new file mode 100644 index 00000000..51a412c7 Binary files /dev/null and b/screenshots/cta-payment-paid-android-0.png differ diff --git a/screenshots/cta-payment-paid-android-latest.png b/screenshots/cta-payment-paid-android-latest.png new file mode 120000 index 00000000..8aabd17e --- /dev/null +++ b/screenshots/cta-payment-paid-android-latest.png @@ -0,0 +1 @@ +cta-payment-paid-android-0.png \ No newline at end of file diff --git a/screenshots/cta-peer-pull-initiate-android-0.png b/screenshots/cta-peer-pull-initiate-android-0.png new file mode 100644 index 00000000..9be8abdf Binary files /dev/null and b/screenshots/cta-peer-pull-initiate-android-0.png differ diff --git a/screenshots/cta-peer-pull-initiate-android-latest.png b/screenshots/cta-peer-pull-initiate-android-latest.png new file mode 120000 index 00000000..eeb4d8c9 --- /dev/null +++ b/screenshots/cta-peer-pull-initiate-android-latest.png @@ -0,0 +1 @@ +cta-peer-pull-initiate-android-0.png \ No newline at end of file diff --git a/screenshots/cta-peer-pull-initiate-firefox-0.png b/screenshots/cta-peer-pull-initiate-firefox-0.png new file mode 100644 index 00000000..0d7c1b31 Binary files /dev/null and b/screenshots/cta-peer-pull-initiate-firefox-0.png differ diff --git a/screenshots/cta-peer-pull-initiate-firefox-latest.png b/screenshots/cta-peer-pull-initiate-firefox-latest.png new file mode 120000 index 00000000..74339ee9 --- /dev/null +++ b/screenshots/cta-peer-pull-initiate-firefox-latest.png @@ -0,0 +1 @@ +cta-peer-pull-initiate-firefox-0.png \ No newline at end of file diff --git a/screenshots/cta-peer-push-initiate-android-0.png b/screenshots/cta-peer-push-initiate-android-0.png new file mode 100644 index 00000000..8ee0ef7d Binary files /dev/null and b/screenshots/cta-peer-push-initiate-android-0.png differ diff --git a/screenshots/cta-peer-push-initiate-android-latest.png b/screenshots/cta-peer-push-initiate-android-latest.png new file mode 120000 index 00000000..ee8bd57a --- /dev/null +++ b/screenshots/cta-peer-push-initiate-android-latest.png @@ -0,0 +1 @@ +cta-peer-push-initiate-android-0.png \ No newline at end of file diff --git a/screenshots/cta-peer-push-initiate-firefox-0.png b/screenshots/cta-peer-push-initiate-firefox-0.png new file mode 100644 index 00000000..f566b0cb Binary files /dev/null and b/screenshots/cta-peer-push-initiate-firefox-0.png differ diff --git a/screenshots/cta-peer-push-initiate-firefox-latest.png b/screenshots/cta-peer-push-initiate-firefox-latest.png new file mode 120000 index 00000000..98a59294 --- /dev/null +++ b/screenshots/cta-peer-push-initiate-firefox-latest.png @@ -0,0 +1 @@ +cta-peer-push-initiate-firefox-0.png \ No newline at end of file diff --git a/screenshots/cta-url-entry-1-android-0.png b/screenshots/cta-url-entry-1-android-0.png new file mode 100644 index 00000000..0705e7f0 Binary files /dev/null and b/screenshots/cta-url-entry-1-android-0.png differ diff --git a/screenshots/cta-url-entry-1-android-latest.png b/screenshots/cta-url-entry-1-android-latest.png new file mode 120000 index 00000000..3ff5ec48 --- /dev/null +++ b/screenshots/cta-url-entry-1-android-latest.png @@ -0,0 +1 @@ +cta-url-entry-1-android-0.png \ No newline at end of file diff --git a/screenshots/cta-url-entry-2-android-0.png b/screenshots/cta-url-entry-2-android-0.png new file mode 100644 index 00000000..18ed9bdf Binary files /dev/null and b/screenshots/cta-url-entry-2-android-0.png differ diff --git a/screenshots/cta-url-entry-2-android-latest.png b/screenshots/cta-url-entry-2-android-latest.png new file mode 120000 index 00000000..c589b4c9 --- /dev/null +++ b/screenshots/cta-url-entry-2-android-latest.png @@ -0,0 +1 @@ +cta-url-entry-2-android-0.png \ No newline at end of file diff --git a/screenshots/cta-wire-transfer-1-android-0.png b/screenshots/cta-wire-transfer-1-android-0.png new file mode 100644 index 00000000..71e354f6 Binary files /dev/null and b/screenshots/cta-wire-transfer-1-android-0.png differ diff --git a/screenshots/cta-wire-transfer-1-android-latest.png b/screenshots/cta-wire-transfer-1-android-latest.png new file mode 120000 index 00000000..ec0bf1b0 --- /dev/null +++ b/screenshots/cta-wire-transfer-1-android-latest.png @@ -0,0 +1 @@ +cta-wire-transfer-1-android-0.png \ No newline at end of file diff --git a/screenshots/cta-wire-transfer-2-android-0.png b/screenshots/cta-wire-transfer-2-android-0.png new file mode 100644 index 00000000..719b890c Binary files /dev/null and b/screenshots/cta-wire-transfer-2-android-0.png differ diff --git a/screenshots/cta-wire-transfer-2-android-latest.png b/screenshots/cta-wire-transfer-2-android-latest.png new file mode 120000 index 00000000..cb712f15 --- /dev/null +++ b/screenshots/cta-wire-transfer-2-android-latest.png @@ -0,0 +1 @@ +cta-wire-transfer-2-android-0.png \ No newline at end of file diff --git a/screenshots/cta-withdraw-1-android-0.png b/screenshots/cta-withdraw-1-android-0.png new file mode 100644 index 00000000..3da47302 Binary files /dev/null and b/screenshots/cta-withdraw-1-android-0.png differ diff --git a/screenshots/cta-withdraw-1-android-latest.png b/screenshots/cta-withdraw-1-android-latest.png new file mode 120000 index 00000000..a183a53f --- /dev/null +++ b/screenshots/cta-withdraw-1-android-latest.png @@ -0,0 +1 @@ +cta-withdraw-1-android-0.png \ No newline at end of file diff --git a/screenshots/cta-withdraw-2-android-0.png b/screenshots/cta-withdraw-2-android-0.png new file mode 100644 index 00000000..dbe4c7b1 Binary files /dev/null and b/screenshots/cta-withdraw-2-android-0.png differ diff --git a/screenshots/cta-withdraw-2-android-latest.png b/screenshots/cta-withdraw-2-android-latest.png new file mode 120000 index 00000000..6ca7417d --- /dev/null +++ b/screenshots/cta-withdraw-2-android-latest.png @@ -0,0 +1 @@ +cta-withdraw-2-android-0.png \ No newline at end of file diff --git a/screenshots/cta-withdraw-done-android-0.png b/screenshots/cta-withdraw-done-android-0.png new file mode 100644 index 00000000..5860f280 Binary files /dev/null and b/screenshots/cta-withdraw-done-android-0.png differ diff --git a/screenshots/cta-withdraw-done-android-latest.png b/screenshots/cta-withdraw-done-android-latest.png new file mode 120000 index 00000000..7751f9d0 --- /dev/null +++ b/screenshots/cta-withdraw-done-android-latest.png @@ -0,0 +1 @@ +cta-withdraw-done-android-0.png \ No newline at end of file diff --git a/screenshots/cta-withdraw-firefox-1.png b/screenshots/cta-withdraw-firefox-1.png new file mode 100644 index 00000000..61d3c0a4 Binary files /dev/null and b/screenshots/cta-withdraw-firefox-1.png differ diff --git a/screenshots/cta-withdraw-firefox-latest.png b/screenshots/cta-withdraw-firefox-latest.png index 4ed704c3..189b3525 120000 --- a/screenshots/cta-withdraw-firefox-latest.png +++ b/screenshots/cta-withdraw-firefox-latest.png @@ -1 +1 @@ -cta-withdraw-firefox-0.png \ No newline at end of file +cta-withdraw-firefox-1.png \ No newline at end of file diff --git a/screenshots/transaction-list-android-0.png b/screenshots/transaction-list-android-0.png new file mode 100644 index 00000000..e9309a83 Binary files /dev/null and b/screenshots/transaction-list-android-0.png differ diff --git a/screenshots/transaction-list-android-latest.png b/screenshots/transaction-list-android-latest.png new file mode 120000 index 00000000..d6123a74 --- /dev/null +++ b/screenshots/transaction-list-android-latest.png @@ -0,0 +1 @@ +transaction-list-android-0.png \ No newline at end of file diff --git a/screenshots/transaction-list-firefox-0.png b/screenshots/transaction-list-firefox-0.png new file mode 100644 index 00000000..d2d12ca8 Binary files /dev/null and b/screenshots/transaction-list-firefox-0.png differ diff --git a/screenshots/transaction-list-firefox-latest.png b/screenshots/transaction-list-firefox-latest.png new file mode 120000 index 00000000..463f0be8 --- /dev/null +++ b/screenshots/transaction-list-firefox-latest.png @@ -0,0 +1 @@ +transaction-list-firefox-0.png \ No newline at end of file -- cgit v1.2.3 From 0df099d459060e09dd710cda2d144dd7370c2a3f Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 7 Mar 2024 22:22:01 +0100 Subject: -update regional architecture image --- images/regional-arch.png | Bin 0 -> 126574 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/regional-arch.png diff --git a/images/regional-arch.png b/images/regional-arch.png new file mode 100644 index 00000000..952b7e60 Binary files /dev/null and b/images/regional-arch.png differ -- cgit v1.2.3 From 57f68dee4cdb383f575ea6ab06c6ab05ad7dc7ab Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 8 Mar 2024 10:39:47 +0100 Subject: add -a option for taler-exchange-dbinit --- manpages/taler-exchange-dbinit.1.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manpages/taler-exchange-dbinit.1.rst b/manpages/taler-exchange-dbinit.1.rst index 0ee83543..cbbc494c 100644 --- a/manpages/taler-exchange-dbinit.1.rst +++ b/manpages/taler-exchange-dbinit.1.rst @@ -13,6 +13,7 @@ Synopsis ======== **taler-exchange-dbinit** +[**-a** | **--inject-auditor**] [**-c** *FILENAME* | **--config=**\ ‌\ *FILENAME*] [**-g** | **--gc**] [**-h** | **--help**] @@ -31,6 +32,9 @@ Taler exchange to operate. Its options are as follows: +**-a** \| **--inject-auditor** + Installs triggers to notify real-time auditors of relevant changes to the database state. + **-c** *FILENAME* \| **--config=**\ ‌\ *FILENAME* Use the configuration and other resources for the exchange to operate from *FILENAME*. -- cgit v1.2.3 From 705921a7f857a9caa77061bbf0f05f0515569b4f Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 8 Mar 2024 13:44:37 +0100 Subject: regio: be more explicit --- libeufin/regional-automated-manual.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libeufin/regional-automated-manual.rst b/libeufin/regional-automated-manual.rst index 4fe492ab..b199aa92 100644 --- a/libeufin/regional-automated-manual.rst +++ b/libeufin/regional-automated-manual.rst @@ -234,7 +234,9 @@ By default, the exchange is setup to perform conversion without any restrictions .. code-block:: console - $ . config/user.conf + # Make sure environment variables are available + $ source config/user.conf + $ sudo -u taler-exchange-offline taler-exchange-offline \ enable-account \ "${CONVERSION_PAYTO}" \ -- cgit v1.2.3 From b6c48cab4cce1f8105b0280ab06f82267fee4c1c Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Fri, 8 Mar 2024 10:20:14 -0600 Subject: DD53: add iOS screenshots --- design-documents/053-wallet-ui.rst | 44 ++++++++++++++++++++++ screenshots/balance-list-1-ios-0.png | Bin 0 -> 395744 bytes screenshots/balance-list-1-ios-latest.png | 1 + screenshots/balance-list-2-ios-0.png | Bin 0 -> 427641 bytes screenshots/balance-list-2-ios-latest.png | 1 + screenshots/cta-accept-tos-ios-0.png | Bin 0 -> 334259 bytes screenshots/cta-accept-tos-ios-latest.png | 1 + screenshots/cta-deposit-1-ios-0.png | Bin 0 -> 155427 bytes screenshots/cta-deposit-1-ios-latest.png | 1 + screenshots/cta-deposit-2-ios-0.png | Bin 0 -> 174391 bytes screenshots/cta-deposit-2-ios-latest.png | 1 + screenshots/cta-payment-ios-0.png | Bin 0 -> 198398 bytes screenshots/cta-payment-ios-latest.png | 1 + screenshots/cta-payment-paid-1-ios-0.png | Bin 0 -> 197183 bytes screenshots/cta-payment-paid-1-ios-latest.png | 1 + screenshots/cta-payment-paid-2-ios-0.png | Bin 0 -> 294874 bytes screenshots/cta-payment-paid-2-ios-latest.png | 1 + screenshots/cta-peer-pull-initiate-ios-0.png | Bin 0 -> 186311 bytes screenshots/cta-peer-pull-initiate-ios-latest.png | 1 + screenshots/cta-peer-push-initiate-ios-0.png | Bin 0 -> 176120 bytes screenshots/cta-peer-push-initiate-ios-latest.png | 1 + screenshots/cta-wire-transfer-1-ios-0.png | Bin 0 -> 292949 bytes screenshots/cta-wire-transfer-1-ios-latest.png | 1 + screenshots/cta-wire-transfer-2-ios-0.png | Bin 0 -> 407510 bytes screenshots/cta-wire-transfer-2-ios-latest.png | 1 + screenshots/cta-wire-transfer-3-ios-0.png | Bin 0 -> 331196 bytes screenshots/cta-wire-transfer-3-ios-latest.png | 1 + screenshots/cta-withdraw-done-ios-0.png | Bin 0 -> 310883 bytes screenshots/cta-withdraw-done-ios-latest.png | 1 + screenshots/cta-withdraw-ios-0.png | Bin 0 -> 193455 bytes screenshots/cta-withdraw-ios-latest.png | 1 + screenshots/transaction-list-ios-0.png | Bin 0 -> 474321 bytes screenshots/transaction-list-ios-latest.png | 1 + 33 files changed, 60 insertions(+) create mode 100644 screenshots/balance-list-1-ios-0.png create mode 120000 screenshots/balance-list-1-ios-latest.png create mode 100644 screenshots/balance-list-2-ios-0.png create mode 120000 screenshots/balance-list-2-ios-latest.png create mode 100644 screenshots/cta-accept-tos-ios-0.png create mode 120000 screenshots/cta-accept-tos-ios-latest.png create mode 100644 screenshots/cta-deposit-1-ios-0.png create mode 120000 screenshots/cta-deposit-1-ios-latest.png create mode 100644 screenshots/cta-deposit-2-ios-0.png create mode 120000 screenshots/cta-deposit-2-ios-latest.png create mode 100644 screenshots/cta-payment-ios-0.png create mode 120000 screenshots/cta-payment-ios-latest.png create mode 100644 screenshots/cta-payment-paid-1-ios-0.png create mode 120000 screenshots/cta-payment-paid-1-ios-latest.png create mode 100644 screenshots/cta-payment-paid-2-ios-0.png create mode 120000 screenshots/cta-payment-paid-2-ios-latest.png create mode 100644 screenshots/cta-peer-pull-initiate-ios-0.png create mode 120000 screenshots/cta-peer-pull-initiate-ios-latest.png create mode 100644 screenshots/cta-peer-push-initiate-ios-0.png create mode 120000 screenshots/cta-peer-push-initiate-ios-latest.png create mode 100644 screenshots/cta-wire-transfer-1-ios-0.png create mode 120000 screenshots/cta-wire-transfer-1-ios-latest.png create mode 100644 screenshots/cta-wire-transfer-2-ios-0.png create mode 120000 screenshots/cta-wire-transfer-2-ios-latest.png create mode 100644 screenshots/cta-wire-transfer-3-ios-0.png create mode 120000 screenshots/cta-wire-transfer-3-ios-latest.png create mode 100644 screenshots/cta-withdraw-done-ios-0.png create mode 120000 screenshots/cta-withdraw-done-ios-latest.png create mode 100644 screenshots/cta-withdraw-ios-0.png create mode 120000 screenshots/cta-withdraw-ios-latest.png create mode 100644 screenshots/transaction-list-ios-0.png create mode 120000 screenshots/transaction-list-ios-latest.png diff --git a/design-documents/053-wallet-ui.rst b/design-documents/053-wallet-ui.rst index 3a6602e1..99640ceb 100644 --- a/design-documents/053-wallet-ui.rst +++ b/design-documents/053-wallet-ui.rst @@ -112,6 +112,11 @@ Screenshots | Android | .. image:: ../screenshots/balance-list-android-latest.png | | | :width: 30% | +-----------+----------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/balance-list-1-ios-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/balance-list-2-ios-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------+ .. _transaction-list-ref: @@ -185,6 +190,9 @@ Screenshots | Android | .. image:: ../screenshots/transaction-list-android-latest.png | | | :width: 30% | +-----------+----------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/transaction-list-ios-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------+ .. _cta-withdraw-ref: @@ -232,6 +240,9 @@ Screenshots | Android | .. image:: ../screenshots/cta-withdraw-2-android-latest.png | | | :width: 30% | +-----------+----------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-withdraw-ios-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------+ .. _cta-wire-transfer-ref: @@ -270,6 +281,13 @@ Screenshots | | .. image:: ../screenshots/cta-wire-transfer-2-android-latest.png | | | :width: 30% | +-----------+------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-wire-transfer-1-ios-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/cta-wire-transfer-2-ios-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/cta-wire-transfer-3-ios-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ .. _cta-withdraw-done-ref: @@ -305,6 +323,9 @@ Screenshots | Android | .. image:: ../screenshots/cta-withdraw-done-android-latest.png | | | :width: 30% | +-----------+------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-withdraw-done-ios-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ .. _cta-url-entry-ref: @@ -387,6 +408,9 @@ Screenshots | Android | .. image:: ../screenshots/cta-payment-android-latest.png | | | :width: 30% | +-----------+------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-payment-ios-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ .. _cta-payment-paid-ref: @@ -422,6 +446,11 @@ Screenshots | Android | .. image:: ../screenshots/cta-payment-paid-android-latest.png | | | :width: 30% | +-----------+------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-payment-paid-1-ios-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/cta-payment-paid-2-ios-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ .. _cta-deposit-ref: @@ -459,6 +488,11 @@ Screenshots | Android | .. image:: ../screenshots/cta-deposit-android-latest.png | | | :width: 30% | +-----------+------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-deposit-1-ios-latest.png | +| | :width: 30% | +| | .. image:: ../screenshots/cta-deposit-2-ios-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ .. _cta-peer-pull-initiate-ref: @@ -507,6 +541,9 @@ Screenshots | Android | .. image:: ../screenshots/cta-peer-pull-initiate-android-latest.png | | | :width: 30% | +-----------+----------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-peer-pull-initiate-ios-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------------+ .. _cta-peer-pull-confirm-ref: @@ -571,6 +608,9 @@ Screenshots | Android | .. image:: ../screenshots/cta-peer-push-initiate-android-latest.png | | | :width: 30% | +-----------+----------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-peer-push-initiate-ios-latest.png | +| | :width: 30% | ++-----------+----------------------------------------------------------------------+ .. _cta-peer-push-confirm-ref: @@ -661,6 +701,10 @@ Screenshots | Android | .. image:: ../screenshots/cta-accept-tos-android-latest.png | | | :width: 30% | +-----------+------------------------------------------------------------------+ +| iOS | .. image:: ../screenshots/cta-accept-tos-ios-latest.png | +| | :width: 30% | ++-----------+------------------------------------------------------------------+ + Q / A ===== diff --git a/screenshots/balance-list-1-ios-0.png b/screenshots/balance-list-1-ios-0.png new file mode 100644 index 00000000..bead680a Binary files /dev/null and b/screenshots/balance-list-1-ios-0.png differ diff --git a/screenshots/balance-list-1-ios-latest.png b/screenshots/balance-list-1-ios-latest.png new file mode 120000 index 00000000..d876cbcc --- /dev/null +++ b/screenshots/balance-list-1-ios-latest.png @@ -0,0 +1 @@ +balance-list-1-ios-0.png \ No newline at end of file diff --git a/screenshots/balance-list-2-ios-0.png b/screenshots/balance-list-2-ios-0.png new file mode 100644 index 00000000..23efbbd5 Binary files /dev/null and b/screenshots/balance-list-2-ios-0.png differ diff --git a/screenshots/balance-list-2-ios-latest.png b/screenshots/balance-list-2-ios-latest.png new file mode 120000 index 00000000..4b7f977e --- /dev/null +++ b/screenshots/balance-list-2-ios-latest.png @@ -0,0 +1 @@ +balance-list-2-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-accept-tos-ios-0.png b/screenshots/cta-accept-tos-ios-0.png new file mode 100644 index 00000000..7d8d5ff8 Binary files /dev/null and b/screenshots/cta-accept-tos-ios-0.png differ diff --git a/screenshots/cta-accept-tos-ios-latest.png b/screenshots/cta-accept-tos-ios-latest.png new file mode 120000 index 00000000..091a79a1 --- /dev/null +++ b/screenshots/cta-accept-tos-ios-latest.png @@ -0,0 +1 @@ +cta-accept-tos-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-deposit-1-ios-0.png b/screenshots/cta-deposit-1-ios-0.png new file mode 100644 index 00000000..6cf30dde Binary files /dev/null and b/screenshots/cta-deposit-1-ios-0.png differ diff --git a/screenshots/cta-deposit-1-ios-latest.png b/screenshots/cta-deposit-1-ios-latest.png new file mode 120000 index 00000000..a3a21c74 --- /dev/null +++ b/screenshots/cta-deposit-1-ios-latest.png @@ -0,0 +1 @@ +cta-deposit-1-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-deposit-2-ios-0.png b/screenshots/cta-deposit-2-ios-0.png new file mode 100644 index 00000000..49007f6c Binary files /dev/null and b/screenshots/cta-deposit-2-ios-0.png differ diff --git a/screenshots/cta-deposit-2-ios-latest.png b/screenshots/cta-deposit-2-ios-latest.png new file mode 120000 index 00000000..5dd80393 --- /dev/null +++ b/screenshots/cta-deposit-2-ios-latest.png @@ -0,0 +1 @@ +cta-deposit-2-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-payment-ios-0.png b/screenshots/cta-payment-ios-0.png new file mode 100644 index 00000000..ad7cb8f0 Binary files /dev/null and b/screenshots/cta-payment-ios-0.png differ diff --git a/screenshots/cta-payment-ios-latest.png b/screenshots/cta-payment-ios-latest.png new file mode 120000 index 00000000..130b47c8 --- /dev/null +++ b/screenshots/cta-payment-ios-latest.png @@ -0,0 +1 @@ +cta-payment-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-payment-paid-1-ios-0.png b/screenshots/cta-payment-paid-1-ios-0.png new file mode 100644 index 00000000..09364982 Binary files /dev/null and b/screenshots/cta-payment-paid-1-ios-0.png differ diff --git a/screenshots/cta-payment-paid-1-ios-latest.png b/screenshots/cta-payment-paid-1-ios-latest.png new file mode 120000 index 00000000..c721af49 --- /dev/null +++ b/screenshots/cta-payment-paid-1-ios-latest.png @@ -0,0 +1 @@ +cta-payment-paid-1-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-payment-paid-2-ios-0.png b/screenshots/cta-payment-paid-2-ios-0.png new file mode 100644 index 00000000..b340000f Binary files /dev/null and b/screenshots/cta-payment-paid-2-ios-0.png differ diff --git a/screenshots/cta-payment-paid-2-ios-latest.png b/screenshots/cta-payment-paid-2-ios-latest.png new file mode 120000 index 00000000..7b13031e --- /dev/null +++ b/screenshots/cta-payment-paid-2-ios-latest.png @@ -0,0 +1 @@ +cta-payment-paid-2-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-peer-pull-initiate-ios-0.png b/screenshots/cta-peer-pull-initiate-ios-0.png new file mode 100644 index 00000000..421cae8c Binary files /dev/null and b/screenshots/cta-peer-pull-initiate-ios-0.png differ diff --git a/screenshots/cta-peer-pull-initiate-ios-latest.png b/screenshots/cta-peer-pull-initiate-ios-latest.png new file mode 120000 index 00000000..e083752f --- /dev/null +++ b/screenshots/cta-peer-pull-initiate-ios-latest.png @@ -0,0 +1 @@ +cta-peer-pull-initiate-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-peer-push-initiate-ios-0.png b/screenshots/cta-peer-push-initiate-ios-0.png new file mode 100644 index 00000000..a574c880 Binary files /dev/null and b/screenshots/cta-peer-push-initiate-ios-0.png differ diff --git a/screenshots/cta-peer-push-initiate-ios-latest.png b/screenshots/cta-peer-push-initiate-ios-latest.png new file mode 120000 index 00000000..f42c0924 --- /dev/null +++ b/screenshots/cta-peer-push-initiate-ios-latest.png @@ -0,0 +1 @@ +cta-peer-push-initiate-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-wire-transfer-1-ios-0.png b/screenshots/cta-wire-transfer-1-ios-0.png new file mode 100644 index 00000000..1d9fdbfd Binary files /dev/null and b/screenshots/cta-wire-transfer-1-ios-0.png differ diff --git a/screenshots/cta-wire-transfer-1-ios-latest.png b/screenshots/cta-wire-transfer-1-ios-latest.png new file mode 120000 index 00000000..49cacb7f --- /dev/null +++ b/screenshots/cta-wire-transfer-1-ios-latest.png @@ -0,0 +1 @@ +cta-wire-transfer-1-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-wire-transfer-2-ios-0.png b/screenshots/cta-wire-transfer-2-ios-0.png new file mode 100644 index 00000000..3ea5b9ca Binary files /dev/null and b/screenshots/cta-wire-transfer-2-ios-0.png differ diff --git a/screenshots/cta-wire-transfer-2-ios-latest.png b/screenshots/cta-wire-transfer-2-ios-latest.png new file mode 120000 index 00000000..6879480a --- /dev/null +++ b/screenshots/cta-wire-transfer-2-ios-latest.png @@ -0,0 +1 @@ +cta-wire-transfer-2-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-wire-transfer-3-ios-0.png b/screenshots/cta-wire-transfer-3-ios-0.png new file mode 100644 index 00000000..c15f9a5e Binary files /dev/null and b/screenshots/cta-wire-transfer-3-ios-0.png differ diff --git a/screenshots/cta-wire-transfer-3-ios-latest.png b/screenshots/cta-wire-transfer-3-ios-latest.png new file mode 120000 index 00000000..daba13f8 --- /dev/null +++ b/screenshots/cta-wire-transfer-3-ios-latest.png @@ -0,0 +1 @@ +cta-wire-transfer-3-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-withdraw-done-ios-0.png b/screenshots/cta-withdraw-done-ios-0.png new file mode 100644 index 00000000..93561c5d Binary files /dev/null and b/screenshots/cta-withdraw-done-ios-0.png differ diff --git a/screenshots/cta-withdraw-done-ios-latest.png b/screenshots/cta-withdraw-done-ios-latest.png new file mode 120000 index 00000000..26f90634 --- /dev/null +++ b/screenshots/cta-withdraw-done-ios-latest.png @@ -0,0 +1 @@ +cta-withdraw-done-ios-0.png \ No newline at end of file diff --git a/screenshots/cta-withdraw-ios-0.png b/screenshots/cta-withdraw-ios-0.png new file mode 100644 index 00000000..11dd9db0 Binary files /dev/null and b/screenshots/cta-withdraw-ios-0.png differ diff --git a/screenshots/cta-withdraw-ios-latest.png b/screenshots/cta-withdraw-ios-latest.png new file mode 120000 index 00000000..9c7d604b --- /dev/null +++ b/screenshots/cta-withdraw-ios-latest.png @@ -0,0 +1 @@ +cta-withdraw-ios-0.png \ No newline at end of file diff --git a/screenshots/transaction-list-ios-0.png b/screenshots/transaction-list-ios-0.png new file mode 100644 index 00000000..6180c2c5 Binary files /dev/null and b/screenshots/transaction-list-ios-0.png differ diff --git a/screenshots/transaction-list-ios-latest.png b/screenshots/transaction-list-ios-latest.png new file mode 120000 index 00000000..e0d8b772 --- /dev/null +++ b/screenshots/transaction-list-ios-latest.png @@ -0,0 +1 @@ +transaction-list-ios-0.png \ No newline at end of file -- cgit v1.2.3 From c0dcafaaef7dc0fbdf1b263e0c3d8fa3935131f5 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 8 Mar 2024 20:14:00 +0100 Subject: add v0.10.x qa checklist --- checklists/qa-0.10.rst | 233 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 checklists/qa-0.10.rst diff --git a/checklists/qa-0.10.rst b/checklists/qa-0.10.rst new file mode 100644 index 00000000..262f44f5 --- /dev/null +++ b/checklists/qa-0.10.rst @@ -0,0 +1,233 @@ +Taler 0.9.4 QA Plan +------------------- + +Wallet Platforms +^^^^^^^^^^^^^^^^ + +Platforms listed here are the officially supported platforms for this release. + +* Overview / Installation Page + + * https://taler.net/en/wallet.html + +* Android + + * Google Play: https://play.google.com/store/apps/details?id=net.taler.wallet + * F-Droid: https://f-droid.org/en/packages/net.taler.wallet.fdroid/ + * APK Download: TBD + +* Browser + + * Chrome: https://chromewebstore.google.com/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc + * Firefox: https://addons.mozilla.org/en-US/firefox/addon/taler-wallet/ + +* iOS + + +Running Deployments +^^^^^^^^^^^^^^^^^^^ + +These deployments are maintained by us and should work for the release: + +* Sandcastle-based: + + * demo.taler.net + + * test.taler.net + +* Regio-based: + + * regio-taler.fdold.eu + + +Wallet Flows +^^^^^^^^^^^^ + +* Bank-integrated withdrawal + + * webext: "Continue with Mobile Wallet" flow + +* Manual withdrawal + + * ``taler://withdraw-exchange`` flow + + * Currency conversion withdrawal + +* Peer push payments ("Send Money") + +* Peer pull payments ("Receive Money") + +* Deposit into bank account + + * Check that deposit arrived + +* Payment at merchant + + * on blog merchant + * on survey + * directly initiated via merchant SPA + * webext: "Pay with Mobile Wallet" flow + +* Pay templates + + * Payment TOTP codes + +* Exchange management + + * Reloading exchange keys + * Deleting an exchange + +* Offline handling + + * Check error messages for other flows when internet connectivity + is bad or device is completely offline. + + +libeufin-bank Flows +^^^^^^^^^^^^^^^^^^^ + +* Admin functionality + + * Login + + * Credential change + + * Conversion settings + + * Bank account creation + + * Test transfers + +* Normal account functionality + + * Transfers + + * Transfer to the exchange should bounce + + * Withdrawals + + * (conversion-only): Test cash-in + + * (conversion-only): Test cash-out + + * Lower cash-out limit enforced + + * 2FA for withdrawals, cash-out + + +Merchant Backend SPA Flows +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* Instance creation + +* Simple bank account setup + +* Order creation + + * Pay order (with short wire transfer deadline) + + * Check that money from order arrive at the bank with the right subject + +* Extended bank account setup + + * Add Taler Bank Revenue API + + * Check bank transfer list (for wire transfer of previously paid+wired order) + + * Check order payment status goes to "final" automatically + +* TOTP Device Management + + * Add device + + * Edit device (set new secret, export new secret as QR code) + + * Delete device + +* Templates + + * Add template + + * Edit template + + * Add TOTP device to template + + * Edit TOTP device associated with template + + * Pay template + + * Check TOTP code matches + + * Remove TOTP device from template + + * Delete template + + + +Regio Deployment +^^^^^^^^^^^^^^^^ + +* Deployment Automation (deployment.git/regional-currency) + + * Test with Debian bookworm + + * Test with Ubuntu mantic + + * Check logs for errors + + * Test with telesign (SMS) + + * Set up EBICS integration + + * Check that ToS is configured + +* Deployment Functionality + + * All flows of the wallet should work (see ``Wallet Flows`` above) + + * All flows of libeufin-bank should work (see ``libeufin-bank Flows`` above) + + * Merchant backend should work (see ``Merchant Backend SPA Flows`` above) + + * Check logs + + +Android Merchant PoS +^^^^^^^^^^^^^^^^^^^^ + +* Test against demo.taler.net + + +Android Cashier App +^^^^^^^^^^^^^^^^^^^ + +* Test against demo.taler.net + + +CI +^^ + +* https://buildbot.taler.net/#/waterfall +* CI should pass + + +Debian Repository +^^^^^^^^^^^^^^^^^ + +* Debian + + * repo at https://deb.taler.net/apt/debian/ + * supported codename(s): bookworm + + +* Ubuntu: + + * repo at https://deb.taler.net/apt/ubuntu/ + * supported codename(s): mantic + + +GNU Release +^^^^^^^^^^^ + +* Release announcement +* FTP upload -- cgit v1.2.3 From dedcfc666173b1782381b7a880d1e68ccaadfe87 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 8 Mar 2024 22:25:34 +0100 Subject: specification update for #8000 / exchange protocol v19 --- core/api-exchange.rst | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/core/api-exchange.rst b/core/api-exchange.rst index 429170ce..b8979520 100644 --- a/core/api-exchange.rst +++ b/core/api-exchange.rst @@ -62,7 +62,7 @@ possibly by using HTTPS. as well as the list of possible KYC requirements. This endpoint is largely for the SPA for AML officers. Merchants should use ``/keys`` which also contains the protocol version and currency. - This specification corresponds to ``current`` protocol being version **18**. + This specification corresponds to ``current`` protocol being **v19**. **Response:** @@ -81,7 +81,7 @@ possibly by using HTTPS. name: "taler-exchange"; // URN of the implementation (needed to interpret 'revision' in version). - // @since v18, may become mandatory in the future. + // @since **v18**, may become mandatory in the future. implementation?: string; // Currency supported by this exchange, given @@ -103,7 +103,7 @@ possibly by using HTTPS. name: string; // Code of the currency. - // Deprecated in protocol v18 for the exchange + // Deprecated in protocol **v18** for the exchange // and in protocol v6 for the merchant. currency: string; @@ -197,7 +197,7 @@ possibly by using HTTPS. // Set to true if this exchange allows the use // of reserves for rewards. - // @deprecated in protocol v18. + // @deprecated in protocol **v18**. rewards_allowed: false; // EdDSA master public key of the exchange, used to sign entries @@ -282,6 +282,17 @@ possibly by using HTTPS. // a `TALER_MasterWireDetailsPS` // with purpose ``TALER_SIGNATURE_MASTER_WIRE_DETAILS``. master_sig: EddsaSignature; + + // Display label wallets should use to show this + // bank account. + // Since protocol **v19**. + bank_label?: string; + + // *Signed* integer with the display priority for + // this bank account. Optional, 0 if missing. + // Since protocol **v19**. + priority?: Integer; + } .. ts:def:: AccountRestriction @@ -1102,6 +1113,16 @@ Management operations authorized by master key // become active immediately! Used ONLY to detect replay attacks. validity_start: Timestamp; + // Display label wallets should use to show this + // bank account. + // Since protocol **v19**. + bank_label?: string; + + // *Signed* integer with the display priority for + // this bank account. + // Since protocol **v19**. + priority?: Integer; + } .. http:post:: /management/wire/disable -- cgit v1.2.3 From f7836f5bf9010c7546fb132fdcc6659072729f5a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 8 Mar 2024 23:16:15 +0100 Subject: document 'display-hint' option to taler-exchange-offline --- manpages/taler-exchange-offline.1.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/manpages/taler-exchange-offline.1.rst b/manpages/taler-exchange-offline.1.rst index 378c6312..bd8cd793 100644 --- a/manpages/taler-exchange-offline.1.rst +++ b/manpages/taler-exchange-offline.1.rst @@ -277,6 +277,14 @@ Afterwards, optional arguments can be given: REST API that allows merchants and wallets to determine the current conversion rate. + * ``display-hint`` $PRIORITY $LABEL: specifies that this bank account should + be shown to the user with the given numeric $PRIORITY (higher is earlier) + and with the given $LABEL. This is useful to ensure that if an exchange + has multiple bank accounts, we can show the user those that are most likely + useful first, and give them appropriately labeled hints for selecting other + accounts as well. A display hint is optional, if missing the priority is 0 + and the wallet must pick some appropriate label itself somehow. + * ``credit-restriction`` $TYPE [$ARGS]: Specifies that there are restrictions in place when crediting this bank account. Details depend on the restriction $TYPE. This argument may be given multiple times, in which -- cgit v1.2.3 From b974b4dc18a0010db78f5982a97e120b056b8632 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 9 Mar 2024 20:48:08 +0100 Subject: spec for #8608 --- core/api-merchant.rst | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/core/api-merchant.rst b/core/api-merchant.rst index d21d8073..ebd5647d 100644 --- a/core/api-merchant.rst +++ b/core/api-merchant.rst @@ -123,7 +123,7 @@ such as the implemented version of the protocol and the currency used. .. http:get:: /config Return the protocol version and currency supported by this merchant backend. - This specification corresponds to ``current`` protocol being version **10**. + This specification corresponds to ``current`` protocol being version **11**. **Response:** @@ -3048,6 +3048,30 @@ Removing template Using template ---------------- +.. http:get:: [/instances/$INSTANCE]/templates/$TEMPLATE_ID + + This is used to obtain information about a specific template by wallets + before they ask the user to fill in details. + This endpoint is available since protocol **v11**. + + **Response:** + + :http:statuscode:`200 OK`: + The backend has successfully returned the detailed information about a specific template. + Returns a `WalletTemplateDetails`. + :http:statuscode:`404 Not found`: + The instance or template(ID) is unknown to the backend. + + .. ts:def:: WalletTemplateDetails + + interface WalletTemplateDetails { + + // Hard-coded information about the contrac terms + // for this template. + template_contract: TemplateContractDetails; + } + + .. http:post:: [/instances/$INSTANCES]/templates/$TEMPLATE_ID This using template can be modified by everyone and will be used to create order. -- cgit v1.2.3 From 72dcd025f7f036812125573d91ed92ab1625a307 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 10 Mar 2024 12:12:52 +0100 Subject: work on #8602 --- frags/deploying-tos.rst | 45 ++++++++++++++ frags/regional-system-on.rst | 28 +++++++++ libeufin/regional-automated-manual.rst | 76 +++++++---------------- libeufin/regional-custom-manual.rst | 108 +++++++++++++++++++-------------- 4 files changed, 158 insertions(+), 99 deletions(-) create mode 100644 frags/deploying-tos.rst create mode 100644 frags/regional-system-on.rst diff --git a/frags/deploying-tos.rst b/frags/deploying-tos.rst new file mode 100644 index 00000000..5b389f44 --- /dev/null +++ b/frags/deploying-tos.rst @@ -0,0 +1,45 @@ +.. + This file is part of GNU TALER. + Copyright (C) 2014-2024 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Affero General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License along with + TALER; see the file COPYING. If not, see + + +Configuring exchange terms +========================== + +You can use your own terms of service and privacy policy. You can use the default templates in ``/usr/share/taler/terms`` as a guide. +Assuming you have custom terms of service and privacy policy ``rst`` teamplte files at ``TOS_PATH`` and ``PRIVACY_PATH``, the following commands generate the terms files: + +.. code-block:: console + + # taler-terms-generator -i "$TOS_PATH" + # taler-terms-generator -i "$PRIVACY_PATH" + +You now have to specify the terms file names in the exchange config: + +.. code-block:: console + + # TERMS_ETAG="$(basename "$TOS_PATH" .rst)" + # PRIVACY_ETAG="$(basename "$PRIVACY_PATH" .rst)" + +.. code-block:: ini + + [exchange] + TERMS_ETAG=${TERMS_ETAG} + PRIVACY_ETAG=${PRIVACY_ETAG} + +Make sure to restart taler-exchange after changing these configuration options: + +.. code-block:: console + + # systemctl restart taler-exchange.target diff --git a/frags/regional-system-on.rst b/frags/regional-system-on.rst new file mode 100644 index 00000000..7a150cbf --- /dev/null +++ b/frags/regional-system-on.rst @@ -0,0 +1,28 @@ +.. + This file is part of GNU TALER. + Copyright (C) 2014-2024 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Affero General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License along with + TALER; see the file COPYING. If not, see + + +System ON! +========== + +The last step is to enable libeufin-nexus to :ref:`import incoming bank +transactions ` (cash in) and to :ref:`trigger +outgoing bank transactions ` (cash out). + +.. code-block:: console + + # systemctl enable --now libeufin-nexus.target + +.. FIXME: explain how to test if libeufin is working! diff --git a/libeufin/regional-automated-manual.rst b/libeufin/regional-automated-manual.rst index b199aa92..645e000f 100644 --- a/libeufin/regional-automated-manual.rst +++ b/libeufin/regional-automated-manual.rst @@ -105,8 +105,8 @@ The script will start by installing the required packages and then asking you fu #. Whether to use TLS or not. You should answer ``y`` in most cases. #. Whether to setup SMS two-factor authentication using `Telesign `_, multi-factor authentication is strongly recommended, especially when regional currency can be converted to fiat currency. This requires `a Customer ID and an API Key `_. You should answer ``y`` in most cases. #. The admin password for the bank. Be absolutely sure to enter a very, very long and high-entropy password, preferably using the autogenerated one. -#. Whether to generate terms of service (ToS) for the exchange from default templates. -#. Whether to generate a privacy policy for the exchange from default templates. +#. Whether to generate terms of service (ToS) for the exchange from default templates. +#. Whether to generate a privacy policy for the exchange from default templates. The information you entered as well as the generated bank admin password will be stored in a file called ``config/user.conf``. If you run the script in @@ -230,62 +230,30 @@ The EBICS setup is finished once the bank keys have been accepted. Configuring the Exchange for Conversion +++++++++++++++++++++++++++++++++++++++ -By default, the exchange is setup to perform conversion without any restrictions. You may configure restrictions on the bank accounts that may originate the funds, for example, to prevent international wire transfers that may expose you to additional compliance risks: +In our automated setup the second account is automatically set up correctly +without fees or special restrictions. However, various additional +*restrictions* and *options* could be configured. Details are explained in +the :ref:`regional conversion setup ` section for the +manual setup and in the the manpage of ``taler-exchange-offline``. -.. code-block:: console - - # Make sure environment variables are available - $ source config/user.conf - - $ sudo -u taler-exchange-offline taler-exchange-offline \ - enable-account \ - "${CONVERSION_PAYTO}" \ - conversion-url "${PROTO}://bank.$DOMAIN_NAME/conversion-info/" \ - # restrictions ... - upload - -.. note:: - Refer to the manpage ``taler-exchange-offline`` for a full array of possible restrictions. - -System ON! -++++++++++ - -The last step is to enable libeufin-nexus to :ref:`import incoming bank -transactions ` (cash in) and to :ref:`trigger -outgoing bank transactions ` (cash out). - -.. code-block:: console - - # systemctl enable --now libeufin-nexus.target - -Configuring exchange terms -++++++++++++++++++++++++++ - -You can use your own terms of service and privacy policy. You can use the default templates in ``/usr/share/taler/terms`` as a guide. -Assuming you have custom terms of service and privacy policy ``rst`` teamplte files at ``TOS_PATH`` and ``PRIVACY_PATH``, the following commands generate the terms files: -.. code-block:: console - - # taler-terms-generator -i "$TOS_PATH" - # taler-terms-generator -i "$PRIVACY_PATH" - -You now have to specify the terms file names in the exchange config: - -.. code-block:: console - - # TERMS_ETAG="$(basename "$TOS_PATH" .rst)" - # PRIVACY_ETAG="$(basename "$PRIVACY_PATH" .rst)" +.. include:: ../frags/regional-system-on.rst +.. include:: ../frags/deploying-tos.rst +.. include:: ../frags/regional-manual-use.rst -.. code-block:: ini - [exchange] - TERMS_ETAG=${TERMS_ETAG} - PRIVACY_ETAG=${PRIVACY_ETAG} +Installing Updates +++++++++++++++++++ -Make sure to restart taler-exchange after changing these configuration options: +The standard procedure for installing updates is to: -.. code-block:: console + * First, make a backup (!) + * Stop Taler services + * Install new version + * Upgrade databases + * Start Taler services - # systemctl restart taler-exchange.target - -.. include:: ../frags/regional-manual-use.rst +The "upgrade.sh" script in the "regional-currency/" folder of "deployment.git" +shows how to do the above steps *except* for the backup. For the backup, all +critical bits of data will be in the Postgresql databases. Thus, we recommend +following the database manual on making backups. diff --git a/libeufin/regional-custom-manual.rst b/libeufin/regional-custom-manual.rst index 8477c18d..fcd1229e 100644 --- a/libeufin/regional-custom-manual.rst +++ b/libeufin/regional-custom-manual.rst @@ -72,6 +72,11 @@ Now you have to set the conversion rates and the ``admin`` debt limit via the ba Configuring the Exchange for Conversion +++++++++++++++++++++++++++++++++++++++ +An exchange that supports currency conversion needs to advertise two bank +accounts, one in the regional currency and a second in the fiat currency. The +conversion logic ensures that wire transfers in either account are +immediately reflected in the other account. + This section explains how to enable currency conversion at the exchange, which is critical for wallets to know how to wire fiat currency to an exchange to obtain regional currency. @@ -90,75 +95,88 @@ the possibility of currency conversion (cash in): .. code-block:: console - # taler-exchange-offline \ + # source config/user.conf + # sudo -u taler-exchange-offline \ + taler-exchange-offline \ + wire-fee now iban "${CURRENCY}":0 "${CURRENCY}":0 \ enable-account \ - payto://iban/$IBAN?receiver-name=$NAME \ - conversion-url "$CONVERSION_URL" \ - debit-restriction \ - deny \ + "${CONVERSION_PAYTO}" \ + conversion-url "${PROTO}://bank.$DOMAIN_NAME/conversion-info/" \ + display-hint 10 "CHF" \ + debit-restriction deny \ credit-restriction \ regex \ 'payto://iban/.*/CH.*?receiver-name=.*' \ 'Swiss only' \ '{ "de" : "nur Schweiz", \ - "fr" : "Suisse uniquement" }' + "fr" : "Suisse uniquement" }' \ upload Here, the ``$CONVERSION_URL`` must be set to the base URL of the conversion endpoint of the bank, which should be -``https://bank.$DOMAIN/conversion-info/`` in our setup. Note that you can -leave out the "credit-restriction" if you want to allow international inbound -wire transfers. The "debit-restriction" is largely mandatory as in this setup -the taler-exchange-transfer is only configured to deal with the regional +``https://bank.$DOMAIN/conversion-info/`` in our setup. + +The above commands set up the exchange to perform conversion with a +restriction to only accept credit transfers from Swiss bank accounts. You may +want to configure such restrictions on the bank accounts that may originate +funds to prevent international wire transfers that may expose you to +additional compliance risks. + +You can leave out the "credit-restriction" if you want to allow international +inbound wire transfers. + +The "debit-restriction" is largely mandatory as in this setup the +``taler-exchange-transfer`` is only configured to deal with the regional currency bank. Crediting fiat bank accounts must thus be done via the cash-out functionality of the regional currency bank account. +The "display-hint" gives priority (10) for the fiat cash-in account over the +regional currency account in the withdraw dialog of the wallets and labels the +account with "CHF". + .. note:: The above command adds a **second** bank account to the exchange. You (or the guided setup script) should have already enabled the regional currency bank account (without any "conversion-url"). -System ON! -++++++++++ - -The last step is to enable libeufin-nexus to :ref:`import incoming bank -transactions ` (cash in) and to :ref:`trigger -outgoing bank transactions ` (cash out). - -.. code-block:: console - - # systemctl enable --now libeufin-nexus.target - - -Configuring exchange terms -++++++++++++++++++++++++++ - -You can use your own terms of service and privacy policy. You can use the default templates in ``/usr/share/taler/terms`` as a guide. -Assuming you have custom terms of service and privacy policy ``rst`` teamplte files at ``TOS_PATH`` and ``PRIVACY_PATH``, the following commands generate the terms files: +.. include:: ../frags/regional-system-on.rst +.. include:: ../frags/deploying-tos.rst +.. include:: ../frags/regional-manual-use.rst -.. code-block:: console - # taler-terms-generator -i "$TOS_PATH" - # taler-terms-generator -i "$PRIVACY_PATH" +Maintenance ++++++++++++ -You now have to specify the terms file names in the exchange config: +The ``taler-exchange-offline`` commands given above set fees only for the +current year (``now``). Thus, before January 1st of each year, you must to set +up new fees for the new calendar year. In a regional currency setup, this +typically requires up to three annual settings: .. code-block:: console - # TERMS_ETAG="$(basename "$TOS_PATH" .rst)" - # PRIVACY_ETAG="$(basename "$PRIVACY_PATH" .rst)" - -.. code-block:: ini - - [exchange] - TERMS_ETAG=${TERMS_ETAG} - PRIVACY_ETAG=${PRIVACY_ETAG} + # YEAR=2025 # edit if necessary + # FIAT_CURRENCY=CHF # edit if necessary + # REGIO_CURRENCY=NETZBON # edit if necessary + # sudo -u taler-exchange-offline \ + taler-exchange-offline \ + wire-fee "$YEAR" \ + iban "${FIAT_CURRENCY}":0 "${FIAT_CURRENCY}":0 \ + wire-fee "$YEAR" \ + x-taler-bank "${REGIO_CURRENCY}":0 "${REGIO_CURRENCY}":0 \ + global-fee $YEAR \ + "${REGIO_CURRENCY}:0" \ + "${REGIO_CURRENCY}:0" \ + "${REGIO_CURRENCY}:0" + 4w 6y 4 \ + upload + +If the fees are not all zero, simply change the respective place to specify +a non-zero fee. -Make sure to restart taler-exchange after changing these configuration options: - -.. code-block:: console - - # systemctl restart taler-exchange.target +.. note:: -.. include:: ../frags/regional-manual-use.rst + Additionally, the denomination signing keys will only have been + pre-generated for some time, depending on your ``LOOKAHEAD_SIGN`` + configuration option. Thus, you may need to periodically run + the "taler-exchange-offline download sign upload" sequence as well! -- cgit v1.2.3 From 85e4a88881a77abf6f9928f226a1b78c925a608a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 10 Mar 2024 12:49:03 +0100 Subject: fix bash JSON (#8602) --- libeufin/regional-custom-manual.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libeufin/regional-custom-manual.rst b/libeufin/regional-custom-manual.rst index fcd1229e..580168f3 100644 --- a/libeufin/regional-custom-manual.rst +++ b/libeufin/regional-custom-manual.rst @@ -108,8 +108,7 @@ the possibility of currency conversion (cash in): regex \ 'payto://iban/.*/CH.*?receiver-name=.*' \ 'Swiss only' \ - '{ "de" : "nur Schweiz", \ - "fr" : "Suisse uniquement" }' \ + '{"de":"nur Schweiz","fr":"Suisse uniquement"}' \ upload Here, the ``$CONVERSION_URL`` must be set to the base URL of the conversion -- cgit v1.2.3 From 528e9af0603abbba9b46b7eec0bd46933ae7bdbb Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 10 Mar 2024 19:26:49 +0100 Subject: document p2p push --- taler-wallet.rst | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/taler-wallet.rst b/taler-wallet.rst index 1d1a3991..4a975340 100644 --- a/taler-wallet.rst +++ b/taler-wallet.rst @@ -192,6 +192,53 @@ Manual withdrawing --amount EUR:5 +P2P push payments +----------------- + +The following code generates a P2P push transaction over 1 CHF +with an expiration time of 30 days (assuming the wallet has a +sufficient balance): + +.. code-block:: console + + $ taler-wallet-cli p2p initiate-push-debit \ + --purse-expiration="30 d" \ + --summary="The summary" \ + CHF:1 + +The final URL can then be found in the transaction list: + +.. code-block:: console + + $ taler-wallet-cli transactions + +Background wallet +----------------- + +A wallet can be launched in the background: + +.. code-block:: console + + $ taler-wallet-cli advanced serve & + +You can then run various Taler operations faster against +this one persistent instance: + +.. code-block:: console + + $ taler-wallet-cli --wallet-connection=wallet-core.sock ... + +Here ``...`` needs to be changed to the commando to run. +Make sure to run + +.. code-block:: console + + $ taler-wallet-cli --wallet-connection=wallet-core.sock \ + run-until-done + +to wait for pending transactions to complete. + + Testing an exchange deployment ------------------------------ -- cgit v1.2.3 From 2edc5e47bce285f6ef8c11dc1b4fabf01e510eea Mon Sep 17 00:00:00 2001 From: Javier Sepulveda Date: Mon, 11 Mar 2024 09:05:46 +0100 Subject: Forcing git add, to add image files - Taler monitoring rst --- images/grafana-postgres-exporter.png | Bin 0 -> 244971 bytes images/kuma.png | Bin 0 -> 244687 bytes images/taler-monitoring-infrastructure.png | Bin 0 -> 85006 bytes images/uptime-kuma-edit.png | Bin 0 -> 116550 bytes images/uptime-kuma-from-grafana.png | Bin 0 -> 345702 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/grafana-postgres-exporter.png create mode 100644 images/kuma.png create mode 100644 images/taler-monitoring-infrastructure.png create mode 100644 images/uptime-kuma-edit.png create mode 100644 images/uptime-kuma-from-grafana.png diff --git a/images/grafana-postgres-exporter.png b/images/grafana-postgres-exporter.png new file mode 100644 index 00000000..a51c28f0 Binary files /dev/null and b/images/grafana-postgres-exporter.png differ diff --git a/images/kuma.png b/images/kuma.png new file mode 100644 index 00000000..d98772a1 Binary files /dev/null and b/images/kuma.png differ diff --git a/images/taler-monitoring-infrastructure.png b/images/taler-monitoring-infrastructure.png new file mode 100644 index 00000000..05f29704 Binary files /dev/null and b/images/taler-monitoring-infrastructure.png differ diff --git a/images/uptime-kuma-edit.png b/images/uptime-kuma-edit.png new file mode 100644 index 00000000..23b85dad Binary files /dev/null and b/images/uptime-kuma-edit.png differ diff --git a/images/uptime-kuma-from-grafana.png b/images/uptime-kuma-from-grafana.png new file mode 100644 index 00000000..c42b8660 Binary files /dev/null and b/images/uptime-kuma-from-grafana.png differ -- cgit v1.2.3 From f3cf0a283c328ebc71cfdbcf2894429066014a96 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 11 Mar 2024 09:41:46 +0100 Subject: -fix typo --- taler-user-guide.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taler-user-guide.rst b/taler-user-guide.rst index 127218fb..8e42c0d2 100644 --- a/taler-user-guide.rst +++ b/taler-user-guide.rst @@ -322,7 +322,7 @@ Mustach templating engine: * timestamp: time of the refund (in nanoseconds since 1970) * order_id: the ID of the order that received the refund * :ref:`contract_terms `: the full JSON of the contract terms of the refunded order -* refund_amout: the amount that was being refunded +* refund_amount: the amount that was being refunded * reason: the reason entered by the merchant staff for granting the refund; be careful, you probably want to inform your staff if a webhook may expose this information to the consumer -- cgit v1.2.3