aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2024-06-17 15:55:01 -0300
committerSebastian <sebasjm@gmail.com>2024-06-17 15:55:01 -0300
commitb62e86aec6041cba287f0f455ffe5c9a50eaac75 (patch)
tree772fc10cb7b25aca3296e1863c632fdcf1e993a7 /packages
parent9ec1704bb8f99750ea2564946306dc08798b5132 (diff)
downloadwallet-core-b62e86aec6041cba287f0f455ffe5c9a50eaac75.tar.xz
do not check on initiate, check on confirm
Diffstat (limited to 'packages')
-rw-r--r--packages/taler-wallet-core/src/pay-peer-push-credit.ts21
1 files changed, 11 insertions, 10 deletions
diff --git a/packages/taler-wallet-core/src/pay-peer-push-credit.ts b/packages/taler-wallet-core/src/pay-peer-push-credit.ts
index 5a1bfbdbd..14f32b545 100644
--- a/packages/taler-wallet-core/src/pay-peer-push-credit.ts
+++ b/packages/taler-wallet-core/src/pay-peer-push-credit.ts
@@ -408,9 +408,6 @@ export async function preparePeerPushCredit(
const exchangeBaseUrl = uri.exchangeBaseUrl;
- const exchange = await fetchFreshExchange(wex, exchangeBaseUrl);
- requireExchangeTosAcceptedOrThrow(exchange);
-
const contractPriv = uri.contractPriv;
const contractPub = encodeCrock(eddsaGetPublic(decodeCrock(contractPriv)));
@@ -914,7 +911,7 @@ export async function confirmPeerPushCredit(
wex: WalletExecutionContext,
req: ConfirmPeerPushCreditRequest,
): Promise<AcceptPeerPushPaymentResponse> {
- let peerInc: PeerPushPaymentIncomingRecord | undefined;
+ // PeerPushPaymentIncomingRecord | undefined;
let peerPushCreditId: string;
const parsedTx = parseTransactionIdentifier(req.transactionId);
if (!parsedTx) {
@@ -927,17 +924,18 @@ export async function confirmPeerPushCredit(
logger.trace(`confirming peer-push-credit ${peerPushCreditId}`);
- await wex.db.runReadWriteTx(
+ const peerInc = await wex.db.runReadWriteTx(
{ storeNames: ["contractTerms", "peerPushCredit"] },
async (tx) => {
- peerInc = await tx.peerPushCredit.get(peerPushCreditId);
- if (!peerInc) {
+ const rec = await tx.peerPushCredit.get(peerPushCreditId);
+ if (!rec) {
return;
}
- if (peerInc.status === PeerPushCreditStatus.DialogProposed) {
- peerInc.status = PeerPushCreditStatus.PendingMerge;
+ if (rec.status === PeerPushCreditStatus.DialogProposed) {
+ rec.status = PeerPushCreditStatus.PendingMerge;
}
- await tx.peerPushCredit.put(peerInc);
+ await tx.peerPushCredit.put(rec);
+ return rec;
},
);
@@ -947,6 +945,9 @@ export async function confirmPeerPushCredit(
);
}
+ const exchange = await fetchFreshExchange(wex, peerInc.exchangeBaseUrl);
+ requireExchangeTosAcceptedOrThrow(exchange);
+
const ctx = new PeerPushCreditTransactionContext(wex, peerPushCreditId);
wex.taskScheduler.startShepherdTask(ctx.taskId);