gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] 03/03: show btc wire details in withdraw details tra


From: gnunet
Subject: [taler-wallet-core] 03/03: show btc wire details in withdraw details transaction
Date: Mon, 18 Apr 2022 21:21:05 +0200

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

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

commit dc2c2b36501b24c7f2ed8f3dd0f7e6edc9dd6658
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Mon Apr 18 16:20:44 2022 -0300

    show btc wire details in withdraw details transaction
---
 .../src/components/BankDetailsByPaytoType.tsx      | 71 ++++++++++++++++++++--
 .../src/wallet/ReserveCreated.tsx                  | 61 +------------------
 .../src/wallet/Transaction.tsx                     |  2 +-
 3 files changed, 70 insertions(+), 64 deletions(-)

diff --git 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
index 182e82a3..ac6f8541 100644
--- 
a/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
+++ 
b/packages/taler-wallet-webextension/src/components/BankDetailsByPaytoType.tsx
@@ -14,18 +14,24 @@
  GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
  */
 
-import { PaytoUri } from "@gnu-taler/taler-util";
+import {
+  AmountJson,
+  Amounts,
+  PaytoUri,
+  segwitMinAmount,
+} from "@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { useEffect, useRef, useState } from "preact/hooks";
 import { useTranslationContext } from "../context/translation.js";
 import { CopiedIcon, CopyIcon } from "../svg/index.js";
+import { Amount } from "./Amount.js";
 import { ButtonBox, TooltipRight } from "./styled/index.js";
 
 export interface BankDetailsProps {
   payto: PaytoUri | undefined;
   exchangeBaseUrl: string;
   subject: string;
-  amount: string | VNode;
+  amount: AmountJson;
 }
 
 export function BankDetailsByPaytoType({
@@ -35,8 +41,65 @@ export function BankDetailsByPaytoType({
   amount,
 }: BankDetailsProps): VNode {
   const { i18n } = useTranslationContext();
+  if (!payto) return <Fragment />;
 
-  const firstPart = !payto ? undefined : !payto.isKnown ? (
+  if (payto.isKnown && payto.targetType === "bitcoin") {
+    const min = segwitMinAmount(amount.currency);
+    if (typeof window !== "undefined") {
+      //FIXME: generate (and possibly save in db?) in wallet-core
+      payto.generateSegwitAddress(subject);
+    }
+    return (
+      <section style={{ textAlign: "left" }}>
+        <p>
+          <i18n.Translate>
+            Bitcoin exchange need a transaction with 3 output, one output is 
the
+            exchange account and the other two are segwit fake address for
+            metadata with an minimum amount. Reserve pub : {subject}
+          </i18n.Translate>
+        </p>
+        <p>
+          <i18n.Translate>
+            In bitcoincore wallet use &apos;Add Recipient&apos; button to add
+            two additional recipient and copy addresses and amounts
+          </i18n.Translate>
+          <ul>
+            <li>
+              {payto.targetPath} {Amounts.stringifyValue(amount)} BTC
+            </li>
+            <li>
+              {payto.addr1} {Amounts.stringifyValue(min)} BTC
+            </li>
+            <li>
+              {payto.addr2} {Amounts.stringifyValue(min)} BTC
+            </li>
+          </ul>
+          <i18n.Translate>
+            In Electrum wallet paste the following three lines in &apos;Pay
+            to&apos; field :
+          </i18n.Translate>
+          <ul>
+            <li>
+              {payto.targetPath},{Amounts.stringifyValue(amount)}
+            </li>
+            <li>
+              {payto.addr1},{Amounts.stringifyValue(min)}
+            </li>
+            <li>
+              {payto.addr2},{Amounts.stringifyValue(min)}
+            </li>
+          </ul>
+          <i18n.Translate>
+            Make sure the amount show{" "}
+            {Amounts.stringifyValue(Amounts.sum([amount, min, min]).amount)}{" 
"}
+            BTC, else you have to change the base unit to BTC
+          </i18n.Translate>
+        </p>
+      </section>
+    );
+  }
+
+  const firstPart = !payto.isKnown ? (
     <Row
       name={<i18n.Translate>Account</i18n.Translate>}
       value={payto.targetPath}
@@ -66,7 +129,7 @@ export function BankDetailsByPaytoType({
         />
         <Row
           name={<i18n.Translate>Chosen amount</i18n.Translate>}
-          value={amount}
+          value={<Amount value={amount} />}
         />
         <Row
           name={<i18n.Translate>Subject</i18n.Translate>}
diff --git a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx 
b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
index e656393c..02d8fe6a 100644
--- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx
@@ -1,10 +1,4 @@
-import {
-  AmountJson,
-  Amounts,
-  PaytoUri,
-  segwitMinAmount,
-  stringifyPaytoUri,
-} from "@gnu-taler/taler-util";
+import { AmountJson, PaytoUri, stringifyPaytoUri } from 
"@gnu-taler/taler-util";
 import { Fragment, h, VNode } from "preact";
 import { Amount } from "../components/Amount.js";
 import { BankDetailsByPaytoType } from 
"../components/BankDetailsByPaytoType.js";
@@ -42,61 +36,10 @@ export function ReserveCreated({
   }
   function TransferDetails(): VNode {
     if (!paytoURI) return <Fragment />;
-    if (paytoURI.isKnown && paytoURI.targetType === "bitcoin") {
-      const min = segwitMinAmount();
-      return (
-        <section>
-          <p>
-            <i18n.Translate>
-              Bitcoin exchange need a transaction with 3 output, one output is
-              the exchange account and the other two are segwit fake address 
for
-              metadata with an minimum amount. Reserve pub : {reservePub}
-            </i18n.Translate>
-          </p>
-          <p>
-            <i18n.Translate>
-              In bitcoincore wallet use &apos;Add Recipient&apos; button to add
-              two additional recipient and copy addresses and amounts
-            </i18n.Translate>
-            <ul>
-              <li>
-                {paytoURI.targetPath} {Amounts.stringifyValue(amount)} BTC
-              </li>
-              <li>
-                {paytoURI.addr1} {Amounts.stringifyValue(min)} BTC
-              </li>
-              <li>
-                {paytoURI.addr2} {Amounts.stringifyValue(min)} BTC
-              </li>
-            </ul>
-            <i18n.Translate>
-              In Electrum wallet paste the following three lines in &apos;Pay
-              to&apos; field :
-            </i18n.Translate>
-            <ul>
-              <li>
-                {paytoURI.targetPath},{Amounts.stringifyValue(amount)}
-              </li>
-              <li>
-                {paytoURI.addr1},{Amounts.stringifyValue(min)}
-              </li>
-              <li>
-                {paytoURI.addr2},{Amounts.stringifyValue(min)}
-              </li>
-            </ul>
-            <i18n.Translate>
-              Make sure the amount show{" "}
-              {Amounts.stringifyValue(Amounts.sum([amount, min, 
min]).amount)}{" "}
-              BTC, else you have to change the base unit to BTC
-            </i18n.Translate>
-          </p>
-        </section>
-      );
-    }
     return (
       <section>
         <BankDetailsByPaytoType
-          amount={<Amount value={amount} />}
+          amount={amount}
           exchangeBaseUrl={exchangeBaseUrl}
           payto={paytoURI}
           subject={reservePub}
diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx 
b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
index 62e40d02..4a6c218c 100644
--- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx
@@ -224,7 +224,7 @@ export function TransactionView({
           WithdrawalType.ManualTransfer ? (
             <Fragment>
               <BankDetailsByPaytoType
-                amount={<Amount value={transaction.amountRaw} />}
+                amount={Amounts.parseOrThrow(transaction.amountRaw)}
                 exchangeBaseUrl={transaction.exchangeBaseUrl}
                 payto={parsePaytoUri(
                   transaction.withdrawalDetails.exchangePaytoUris[0],

-- 
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]