aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/shepherd.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-03-31 16:50:34 +0200
committerFlorian Dold <florian@dold.me>2024-03-31 16:50:34 +0200
commitf45340eb11435f47a3a561c724cd356e5b4ba885 (patch)
tree3c2a079d78202908f0007fe065f7225ba016e415 /packages/taler-wallet-core/src/shepherd.ts
parent2d61180dce798ab260d47f94b382fd4f843a55bf (diff)
downloadwallet-core-f45340eb11435f47a3a561c724cd356e5b4ba885.tar.xz
wallet-core: implement denom-loss transaction
Diffstat (limited to 'packages/taler-wallet-core/src/shepherd.ts')
-rw-r--r--packages/taler-wallet-core/src/shepherd.ts18
1 files changed, 16 insertions, 2 deletions
diff --git a/packages/taler-wallet-core/src/shepherd.ts b/packages/taler-wallet-core/src/shepherd.ts
index f04bcd2c2..4ca472e7b 100644
--- a/packages/taler-wallet-core/src/shepherd.ts
+++ b/packages/taler-wallet-core/src/shepherd.ts
@@ -61,7 +61,10 @@ import {
computeDepositTransactionStatus,
processDepositGroup,
} from "./deposits.js";
-import { updateExchangeFromUrlHandler } from "./exchanges.js";
+import {
+ computeDenomLossTransactionStatus,
+ updateExchangeFromUrlHandler,
+} from "./exchanges.js";
import {
computePayMerchantTransactionState,
computeRefundTransactionState,
@@ -636,6 +639,7 @@ async function getTransactionState(
"peerPushCredit",
"rewards",
"refreshGroups",
+ "denomLossEvents",
]
>,
transactionId: string,
@@ -674,12 +678,13 @@ async function getTransactionState(
}
return computeRefundTransactionState(rec);
}
- case TransactionType.PeerPullCredit:
+ case TransactionType.PeerPullCredit: {
const rec = await tx.peerPullCredit.get(parsedTxId.pursePub);
if (!rec) {
return undefined;
}
return computePeerPullCreditTransactionState(rec);
+ }
case TransactionType.PeerPullDebit: {
const rec = await tx.peerPullDebit.get(parsedTxId.peerPullDebitId);
if (!rec) {
@@ -717,6 +722,13 @@ async function getTransactionState(
}
case TransactionType.Recoup:
throw Error("not yet supported");
+ case TransactionType.DenomLoss: {
+ const rec = await tx.denomLossEvents.get(parsedTxId.denomLossEventId);
+ if (!rec) {
+ return undefined;
+ }
+ return computeDenomLossTransactionStatus(rec);
+ }
default:
assertUnreachable(parsedTxId);
}
@@ -864,6 +876,8 @@ export function listTaskForTransactionId(transactionId: string): TaskIdStr[] {
withdrawalGroupId: tid.withdrawalGroupId,
}),
];
+ case TransactionType.DenomLoss:
+ return [];
default:
assertUnreachable(tid);
}