From 87fc6ebf48afc297ed1e2a0fd503a8401c0deb08 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 26 Jun 2023 14:22:34 -0300 Subject: if checkmasterpub is specified, throw if master pub is not equal to the expected value --- packages/taler-wallet-core/src/wallet.ts | 35 +++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'packages/taler-wallet-core/src/wallet.ts') diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index 3ceb6b069..df4fd0d94 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -243,7 +243,12 @@ import { testPay, withdrawTestBalance, } from "./operations/testing.js"; -import { acceptTip, computeTipTransactionStatus, prepareTip, processTip } from "./operations/tip.js"; +import { + acceptTip, + computeTipTransactionStatus, + prepareTip, + processTip, +} from "./operations/tip.js"; import { abortTransaction, deleteTransaction, @@ -281,7 +286,10 @@ import { GetReadOnlyAccess, GetReadWriteAccess, } from "./util/query.js"; -import { OperationAttemptResult, TaskIdentifiers } from "./operations/common.js"; +import { + OperationAttemptResult, + TaskIdentifiers, +} from "./operations/common.js"; import { TimerAPI, TimerGroup } from "./util/timer.js"; import { WALLET_BANK_INTEGRATION_PROTOCOL_VERSION, @@ -1068,6 +1076,7 @@ async function dispatchRequestInternal( case WalletApiOperation.AddExchange: { const req = codecForAddExchangeRequest().decode(payload); await updateExchangeFromUrl(ws, req.exchangeBaseUrl, { + checkMasterPub: req.masterPub, forceNow: req.forceUpdate, }); return {}; @@ -1783,36 +1792,42 @@ class InternalWalletStateImpl implements InternalWalletState { return computePayMerchantTransactionState(rec); } case TransactionType.Refund: { - const rec = await tx.refundGroups.get( - parsedTxId.refundGroupId, - ); + const rec = await tx.refundGroups.get(parsedTxId.refundGroupId); if (!rec) { return undefined; } return computeRefundTransactionState(rec); } case TransactionType.PeerPullCredit: - const rec = await tx.peerPullPaymentInitiations.get(parsedTxId.pursePub); + const rec = await tx.peerPullPaymentInitiations.get( + parsedTxId.pursePub, + ); if (!rec) { return undefined; } return computePeerPullCreditTransactionState(rec); case TransactionType.PeerPullDebit: { - const rec = await tx.peerPullPaymentIncoming.get(parsedTxId.peerPullPaymentIncomingId); + const rec = await tx.peerPullPaymentIncoming.get( + parsedTxId.peerPullPaymentIncomingId, + ); if (!rec) { return undefined; } return computePeerPullDebitTransactionState(rec); } case TransactionType.PeerPushCredit: { - const rec = await tx.peerPushPaymentIncoming.get(parsedTxId.peerPushPaymentIncomingId); + const rec = await tx.peerPushPaymentIncoming.get( + parsedTxId.peerPushPaymentIncomingId, + ); if (!rec) { return undefined; } return computePeerPushCreditTransactionState(rec); } case TransactionType.PeerPushDebit: { - const rec = await tx.peerPushPaymentInitiations.get(parsedTxId.pursePub); + const rec = await tx.peerPushPaymentInitiations.get( + parsedTxId.pursePub, + ); if (!rec) { return undefined; } @@ -1823,7 +1838,7 @@ class InternalWalletStateImpl implements InternalWalletState { if (!rec) { return undefined; } - return computeRefreshTransactionState(rec) + return computeRefreshTransactionState(rec); } case TransactionType.Tip: { const rec = await tx.tips.get(parsedTxId.walletTipId); -- cgit v1.2.3