gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 04/04: handle unsupported payto://taler


From: gnunet
Subject: [taler-wallet-core] 04/04: handle unsupported payto://taler
Date: Mon, 06 Jan 2025 23:57:01 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit 8965ef07c3ca06e3c53060968352e9ca683013dd
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Mon Jan 6 19:56:39 2025 -0300

    handle unsupported payto://taler
---
 .../bank-ui/src/pages/OperationState/views.tsx     |  4 ++++
 .../bank-ui/src/pages/PaytoWireTransferForm.tsx    | 18 +++++++++-----
 .../src/pages/WithdrawalConfirmationQuestion.tsx   |  4 ++++
 packages/kyc-ui/src/pages/TriggerKyc.tsx           | 28 +++++++++++-----------
 .../src/components/modal/index.tsx                 |  8 ++++---
 .../src/paths/instance/accounts/list/Table.tsx     |  3 ++-
 .../src/components/BankDetailsByPaytoType.tsx      |  8 ++++++-
 .../src/wallet/DestinationSelection/views.tsx      |  3 +++
 8 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/packages/bank-ui/src/pages/OperationState/views.tsx 
b/packages/bank-ui/src/pages/OperationState/views.tsx
index 0569ea6eb..3894d646e 100644
--- a/packages/bank-ui/src/pages/OperationState/views.tsx
+++ b/packages/bank-ui/src/pages/OperationState/views.tsx
@@ -240,6 +240,10 @@ export function NeedConfirmationView({
                         );
                       }
                       switch (details.account.targetType) {
+                        case "taler": {
+                          // FIXME: support wire transfer to wallet
+                          return <div>not yet supported</div>;
+                        }
                         case "iban": {
                           const name = details.account.params["receiver-name"];
                           return (
diff --git a/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx 
b/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx
index 7c7a7f99d..c36e9a921 100644
--- a/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx
+++ b/packages/bank-ui/src/pages/PaytoWireTransferForm.tsx
@@ -166,11 +166,13 @@ export function PaytoWireTransferForm({
         ? undefined
         : p.targetType === "iban"
           ? p.iban
-          : p.targetType === "bitcoin"
-            ? p.address
-            : p.targetType === "x-taler-bank"
-              ? p.account
-              : assertUnreachable(p);
+          : p.targetType === "taler"
+            ? undefined // FIXME: unsupported payto://
+            : p.targetType === "bitcoin"
+              ? p.address
+              : p.targetType === "x-taler-bank"
+                ? p.account
+                : assertUnreachable(p);
     } else {
       if (!account || !subject) return;
       let payto;
@@ -317,6 +319,10 @@ export function PaytoWireTransferForm({
                 onChange={() => {
                   if (parsed && parsed.isKnown) {
                     switch (parsed.targetType) {
+                      case "taler": {
+                        // FIXME: unsupported payto
+                        break;
+                      }
                       case "iban": {
                         setAccount(parsed.iban);
                         break;
@@ -543,7 +549,7 @@ export function PaytoWireTransferForm({
                   <b style={{ color: "red" }}> *</b>
                 </label>
                 <div class="mt-2">
-                <textarea
+                  <textarea
                     type="textarea"
                     rows={3}
                     class="block w-full rounded-md border-0 py-1.5 
text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 
placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 
sm:text-sm sm:leading-6"
diff --git a/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx 
b/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
index 143b47647..04ca88988 100644
--- a/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
+++ b/packages/bank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
@@ -272,6 +272,10 @@ export function WithdrawalConfirmationQuestion({
                               );
                             }
                             switch (details.account.targetType) {
+                              case "taler": {
+                                // FIXME: support wire transfer to wallet
+                                return <div>not yet supported</div>;
+                              }
                               case "iban": {
                                 const name =
                                   details.account.params["receiver-name"];
diff --git a/packages/kyc-ui/src/pages/TriggerKyc.tsx 
b/packages/kyc-ui/src/pages/TriggerKyc.tsx
index c2a132138..4c4f4f95b 100644
--- a/packages/kyc-ui/src/pages/TriggerKyc.tsx
+++ b/packages/kyc-ui/src/pages/TriggerKyc.tsx
@@ -74,7 +74,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
             {
               id: ".amount" as UIHandlerId,
               type: "amount",
-              currency: config.currency,
+              currency: config.config.currency,
               label: i18n.str`Amount`,
               required: true,
               converterId: "Taler.Amount",
@@ -113,7 +113,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
   const [form, state] = useFormState<FormType>(
     shape,
     {
-      amount: Amounts.parseOrThrow(`${config.currency}:1000000`),
+      amount: Amounts.parseOrThrow(`${config.config.currency}:1000000`),
     },
     (st) => {
       const partialErrors = undefinedIfEmpty<FormErrors<FormType>>({});
@@ -322,7 +322,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000000`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000000`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -334,7 +334,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000010`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000010`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -346,7 +346,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000020`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000020`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -358,7 +358,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000030`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000030`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -370,7 +370,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000040`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000040`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -382,7 +382,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000050`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000050`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -394,7 +394,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000060`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000060`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -406,7 +406,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000070`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000070`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -418,7 +418,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000080`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000080`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -430,7 +430,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000090`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000090`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -442,7 +442,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000100`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000100`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
@@ -454,7 +454,7 @@ export function TriggerKyc({ onKycStarted }: Props): VNode {
           <Button
             type="submit"
             handler={triggerAmount(
-              Amounts.parseOrThrow(`${config.currency}:1000110`),
+              Amounts.parseOrThrow(`${config.config.currency}:1000110`),
             )}
             // disabled={!submitHandler}
             class="disabled:opacity-50 disabled:cursor-default rounded-md 
bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
diff --git a/packages/merchant-backoffice-ui/src/components/modal/index.tsx 
b/packages/merchant-backoffice-ui/src/components/modal/index.tsx
index a0c5f5044..a5157068b 100644
--- a/packages/merchant-backoffice-ui/src/components/modal/index.tsx
+++ b/packages/merchant-backoffice-ui/src/components/modal/index.tsx
@@ -461,9 +461,11 @@ export function ValidBankAccount({
     ? origin.targetPath
     : origin.targetType === "iban"
       ? origin.iban
-      : origin.targetType === "bitcoin"
-        ? `${origin.address.substring(0, 8)}...`
-        : origin.account;
+      : origin.targetType === "taler"
+        ? origin.reservePub
+        : origin.targetType === "bitcoin"
+          ? `${origin.address.substring(0, 8)}...`
+          : origin.account;
 
   return (
     <ConfirmModal
diff --git 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx
index 1cf3483df..55da0a5da 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx
@@ -107,12 +107,13 @@ function Table({ accounts, onDelete, onSelect }: 
TableProps): VNode {
   const emptyList: Record<
     PaytoType | "unknown",
     { parsed: PaytoUri; acc: Entity }[]
-  > = { bitcoin: [], "x-taler-bank": [], iban: [], unknown: [] };
+  > = { bitcoin: [], "x-taler-bank": [], iban: [], taler: [], unknown: [] };
   const accountsByType = accounts.reduce((prev, acc) => {
     const parsed = parsePaytoUri(acc.payto_uri);
     if (!parsed) return prev; //skip
     if (
       parsed.targetType !== "bitcoin" &&
+      parsed.targetType !== "taler" &&
       parsed.targetType !== "x-taler-bank" &&
       parsed.targetType !== "iban"
     ) {
diff --git 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
index 65368fd81..346272ccb 100644
--- 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
@@ -20,6 +20,7 @@ import {
   AmountString,
   parsePaytoUri,
   PaytoUriIBAN,
+  PaytoUriTaler,
   PaytoUriTalerBank,
   PaytoUriUnknown,
   segwitMinAmount,
@@ -156,7 +157,7 @@ function IBANAccountInfoTable({
   subject,
 }: {
   subject: string;
-  payto: PaytoUriUnknown | PaytoUriIBAN | PaytoUriTalerBank;
+  payto: PaytoUriUnknown | PaytoUriIBAN | PaytoUriTalerBank | PaytoUriTaler;
 }) {
   const { i18n } = useTranslationContext();
   const api = useBackendContext();
@@ -195,6 +196,11 @@ function IBANAccountInfoTable({
       ) : undefined}
       <Row name={i18n.str`IBAN`} value={payto.iban} />
     </Fragment>
+  ) : payto.targetType === "taler" ? (
+    <Fragment>
+      <Row name={i18n.str`Exchange`} value={payto.exchange} />
+      <Row name={i18n.str`Reserve Pub`} value={payto.reservePub} />
+    </Fragment>
   ) : undefined;
 
   const receiver =
diff --git 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx
index 1b34ad4e9..dbd21ee8d 100644
--- 
a/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx
+++ 
b/packages/taler-wallet-webextension/src/wallet/DestinationSelection/views.tsx
@@ -400,6 +400,9 @@ function describeAccount(paytoUri: string): string {
     case "iban": {
       return p.iban;
     }
+    case "taler": {
+      return p.reservePub;
+    }
     case "x-taler-bank": {
       return `${p.host}/${p.account}`;
     }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]