aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/operations/transactions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/operations/transactions.ts')
-rw-r--r--packages/taler-wallet-core/src/operations/transactions.ts23
1 files changed, 15 insertions, 8 deletions
diff --git a/packages/taler-wallet-core/src/operations/transactions.ts b/packages/taler-wallet-core/src/operations/transactions.ts
index a30120baa..7ee6275b0 100644
--- a/packages/taler-wallet-core/src/operations/transactions.ts
+++ b/packages/taler-wallet-core/src/operations/transactions.ts
@@ -66,6 +66,7 @@ import {
} from "../db.js";
import {
GetReadOnlyAccess,
+ PeerPushDebitStatus,
timestampPreciseFromDb,
timestampProtocolFromDb,
WalletStoresV1,
@@ -136,9 +137,9 @@ import {
import {
iterRecordsForDeposit,
iterRecordsForPeerPullDebit,
- iterRecordsForPeerPullInitiation,
+ iterRecordsForPeerPullInitiation as iterRecordsForPeerPullCredit,
iterRecordsForPeerPushCredit,
- iterRecordsForPeerPushInitiation,
+ iterRecordsForPeerPushInitiation as iterRecordsForPeerPushDebit,
iterRecordsForPurchase,
iterRecordsForRefresh,
iterRecordsForRefund,
@@ -463,6 +464,15 @@ function buildTransactionForPushPaymentDebit(
contractTerms: PeerContractTerms,
ort?: OperationRetryRecord,
): Transaction {
+ let talerUri: string | undefined = undefined;
+ switch (pi.status) {
+ case PeerPushDebitStatus.PendingReady:
+ case PeerPushDebitStatus.SuspendedReady:
+ talerUri = stringifyPayPushUri({
+ exchangeBaseUrl: pi.exchangeBaseUrl,
+ contractPriv: pi.contractPriv,
+ });
+ }
return {
type: TransactionType.PeerPushDebit,
txState: computePeerPushDebitTransactionState(pi),
@@ -475,10 +485,7 @@ function buildTransactionForPushPaymentDebit(
summary: contractTerms.summary,
},
timestamp: timestampPreciseFromDb(pi.timestampCreated),
- talerUri: stringifyPayPushUri({
- exchangeBaseUrl: pi.exchangeBaseUrl,
- contractPriv: pi.contractPriv,
- }),
+ talerUri,
transactionId: constructTransactionIdentifier({
tag: TransactionType.PeerPushDebit,
pursePub: pi.pursePub,
@@ -985,7 +992,7 @@ export async function getTransactions(
x.refundGroups,
])
.runReadOnly(async (tx) => {
- await iterRecordsForPeerPushInitiation(tx, filter, async (pi) => {
+ await iterRecordsForPeerPushDebit(tx, filter, async (pi) => {
const amount = Amounts.parseOrThrow(pi.amount);
if (shouldSkipCurrency(transactionsRequest, amount.currency)) {
@@ -1073,7 +1080,7 @@ export async function getTransactions(
);
});
- await iterRecordsForPeerPullInitiation(tx, filter, async (pi) => {
+ await iterRecordsForPeerPullCredit(tx, filter, async (pi) => {
const currency = Amounts.currencyOf(pi.amount);
if (shouldSkipCurrency(transactionsRequest, currency)) {
return;