[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] 02/02: wallet-core: fix peer-pull-credit long-pollin
From: |
gnunet |
Subject: |
[taler-wallet-core] 02/02: wallet-core: fix peer-pull-credit long-polling and peer-pull-debit pending operation status |
Date: |
Tue, 21 Feb 2023 20:31:35 +0100 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-core.
commit a3c7da975b6375f8c57154875642fb29a67e8731
Author: Florian Dold <florian@dold.me>
AuthorDate: Tue Feb 21 20:31:23 2023 +0100
wallet-core: fix peer-pull-credit long-polling and peer-pull-debit pending
operation status
---
packages/taler-wallet-core/src/operations/pay-peer.ts | 6 ++++--
packages/taler-wallet-core/src/operations/pending.ts | 9 +++++++--
packages/taler-wallet-core/src/wallet.ts | 4 ++--
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/packages/taler-wallet-core/src/operations/pay-peer.ts
b/packages/taler-wallet-core/src/operations/pay-peer.ts
index bfb0dd589..8bde47df4 100644
--- a/packages/taler-wallet-core/src/operations/pay-peer.ts
+++ b/packages/taler-wallet-core/src/operations/pay-peer.ts
@@ -1155,7 +1155,7 @@ export async function acceptIncomingPeerPullPayment(
* Look up information about an incoming peer pull payment.
* Store the results in the wallet DB.
*/
-export async function preparePeerPullCredit(
+export async function preparePeerPullDebit(
ws: InternalWalletState,
req: PreparePeerPullDebitRequest,
): Promise<PreparePeerPullDebitResponse> {
@@ -1279,7 +1279,7 @@ export async function queryPurseForPeerPullCredit(
cancellationToken: CancellationToken,
): Promise<LongpollResult> {
const purseDepositUrl = new URL(
- `purses/${pullIni.pursePub}/merge`,
+ `purses/${pullIni.pursePub}/deposit`,
pullIni.exchangeBaseUrl,
);
purseDepositUrl.searchParams.set("timeout_ms", "30000");
@@ -1380,6 +1380,8 @@ export async function processPeerPullCredit(
};
}
+ logger.trace(`processing ${retryTag}, status=${pullIni.status}`);
+
switch (pullIni.status) {
case PeerPullPaymentInitiationStatus.PurseDeposited: {
// We implement this case so that the "retry" action on a
peer-pull-credit transaction
diff --git a/packages/taler-wallet-core/src/operations/pending.ts
b/packages/taler-wallet-core/src/operations/pending.ts
index 458448b31..5e14721f8 100644
--- a/packages/taler-wallet-core/src/operations/pending.ts
+++ b/packages/taler-wallet-core/src/operations/pending.ts
@@ -390,8 +390,13 @@ async function gatherPeerPullDebitPending(
resp: PendingOperationsResponse,
): Promise<void> {
await tx.peerPullPaymentIncoming.iter().forEachAsync(async (pi) => {
- if (pi.status === PeerPullPaymentIncomingStatus.Paid) {
- return;
+ switch (pi.status) {
+ case PeerPullPaymentIncomingStatus.Paid:
+ return;
+ case PeerPullPaymentIncomingStatus.Proposed:
+ return;
+ case PeerPullPaymentIncomingStatus.Accepted:
+ break;
}
const opId = TaskIdentifiers.forPeerPullPaymentDebit(pi);
const retryRecord = await tx.operationRetries.get(opId);
diff --git a/packages/taler-wallet-core/src/wallet.ts
b/packages/taler-wallet-core/src/wallet.ts
index 47724efdc..8614fd7e3 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -199,7 +199,7 @@ import {
import {
acceptIncomingPeerPullPayment,
confirmPeerPushPayment,
- preparePeerPullCredit,
+ preparePeerPullDebit,
preparePeerPushCredit,
initiatePeerPullPayment,
initiatePeerPushPayment,
@@ -1462,7 +1462,7 @@ async function dispatchRequestInternal<Op extends
WalletApiOperation>(
}
case WalletApiOperation.PreparePeerPullDebit: {
const req = codecForCheckPeerPullPaymentRequest().decode(payload);
- return await preparePeerPullCredit(ws, req);
+ return await preparePeerPullDebit(ws, req);
}
case WalletApiOperation.ConfirmPeerPullDebit: {
const req = codecForAcceptPeerPullPaymentRequest().decode(payload);
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.