taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit ee7141e28b482c9655e0b78052ead0f2b5ed5d05
parent b504a5218ad99c04de8077f222747334f53d6ac0
Author: Florian Dold <florian.dold@gmail.com>
Date:   Tue, 12 May 2020 16:04:28 +0530

fix payment transaction

Diffstat:
Msrc/operations/pay.ts | 2++
Msrc/operations/transactions.ts | 3+--
Msrc/operations/withdraw.ts | 1-
Msrc/types/dbTypes.ts | 4+++-
4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/operations/pay.ts b/src/operations/pay.ts @@ -434,6 +434,7 @@ async function recordConfirmPay( mode: "pay", order_id: d.contractData.orderId, }; + const payCostInfo = await getTotalPaymentCost(ws, coinSelection); const t: PurchaseRecord = { abortDone: false, abortRequested: false, @@ -442,6 +443,7 @@ async function recordConfirmPay( lastSessionId: sessionId, payCoinSelection: coinSelection, payReq, + payCostInfo, timestampAccept: getTimestampNow(), timestampLastRefundStatus: undefined, proposalId: proposal.proposalId, diff --git a/src/operations/transactions.ts b/src/operations/transactions.ts @@ -176,11 +176,10 @@ export async function getTransactions( if (!proposal) { return; } - const cost = await getTotalPaymentCost(ws, pr.payCoinSelection); transactions.push({ type: TransactionType.Payment, amountRaw: Amounts.stringify(pr.contractData.amount), - amountEffective: Amounts.stringify(cost.totalCost), + amountEffective: Amounts.stringify(pr.payCostInfo.totalCost), failed: false, pending: !pr.timestampFirstSuccessfulPay, timestamp: pr.timestampAccept, diff --git a/src/operations/withdraw.ts b/src/operations/withdraw.ts @@ -91,7 +91,6 @@ export function getWithdrawDenomList( denoms.sort((d1, d2) => Amounts.cmp(d2.value, d1.value)); for (const d of denoms) { - console.log("considering denom", d); let count = 0; const cost = Amounts.add(d.value, d.feeWithdraw).amount; for (;;) { diff --git a/src/types/dbTypes.ts b/src/types/dbTypes.ts @@ -43,7 +43,7 @@ import { ReserveRecoupTransaction, } from "./ReserveTransaction"; import { Timestamp, Duration, getTimestampNow } from "../util/time"; -import { PayCoinSelection } from "../operations/pay"; +import { PayCoinSelection, PayCostInfo } from "../operations/pay"; export enum ReserveRecordStatus { /** @@ -1226,6 +1226,8 @@ export interface PurchaseRecord { payCoinSelection: PayCoinSelection; + payCostInfo: PayCostInfo; + /** * Timestamp of the first time that sending a payment to the merchant * for this purchase was successful.