aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-01-12 11:22:37 +0100
committerFlorian Dold <florian@dold.me>2023-01-12 11:22:43 +0100
commit1fceb13517106a65c3fb1d7398303e5da0dab77d (patch)
tree2c770ecefdaec0ef45d8012106b789ea5a94585f
parente87073d42a2f51405d1a1f6be27cb378b552dcdf (diff)
downloadwallet-core-1fceb13517106a65c3fb1d7398303e5da0dab77d.tar.xz
wallet-core: allow zero amounts in payments again
-rw-r--r--packages/taler-wallet-core/src/operations/common.ts6
-rw-r--r--packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx2
2 files changed, 8 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/common.ts b/packages/taler-wallet-core/src/operations/common.ts
index 96009eb0b..31c1bebb2 100644
--- a/packages/taler-wallet-core/src/operations/common.ts
+++ b/packages/taler-wallet-core/src/operations/common.ts
@@ -115,6 +115,12 @@ export async function spendCoins(
}>,
csi: CoinsSpendInfo,
): Promise<void> {
+ if (csi.coinPubs.length != csi.contributions.length) {
+ throw Error("assertion failed");
+ }
+ if (csi.coinPubs.length === 0) {
+ return;
+ }
let refreshCoinPubs: CoinRefreshRequest[] = [];
for (let i = 0; i < csi.coinPubs.length; i++) {
const coin = await tx.coins.get(csi.coinPubs[i]);
diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
index f2ebb3919..fea96a02c 100644
--- a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx
@@ -21,6 +21,7 @@
import {
AbsoluteTime,
+ ExtendedStatus,
PaymentStatus,
TalerProtocolTimestamp,
TransactionCommon,
@@ -60,6 +61,7 @@ export default {
const commonTransaction = {
amountRaw: "KUDOS:11",
amountEffective: "KUDOS:9.2",
+ extendedStatus: ExtendedStatus.Done,
pending: false,
timestamp: TalerProtocolTimestamp.now(),
transactionId: "txn:deposit:12",